You are on page 1of 1

import java.util.concurrent.atomic.

AtomicBoolean;
public class Main {
public static void main(String[] args) throws InterruptedException {
ConcurrencyExercise concurrencyExercise = new ConcurrencyExercise(10);
concurrencyExercise.modifyValue(5);
Thread concurrencyThread = new Thread(concurrencyExercise);
concurrencyThread.start();
concurrencyThread.interrupt();
}
}
class ConcurrencyExercise implements Runnable {
private int value;
private AtomicBoolean shutdownThread;
public ConcurrencyExercise(int value) {
this.value = value;
}
@Override
public void run() {
int count = 0;
while (count < value) {
count++;
System.out.println("Modified value: " + value);
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
Thread.currentThread().interrupt();
System.out.println("Thread was interrupted, Failed to complete
operation");
System.exit(0);
}
}
}
public void modifyValue(int modifyValue) {
//this.run();
this.value = modifyValue;
}
public void interrupt() {
shutdownThread.set(false);
}
}

You might also like