Является ли AtomicIntegers потокобезопасным, а вывод кода недетерминированным или детерминированным?JAVA

Программисты JAVA общаются здесь
Anonymous
Является ли AtomicIntegers потокобезопасным, а вывод кода недетерминированным или детерминированным?

Сообщение Anonymous »

Код: Выделить всё

import java.util.concurrent.atomic.AtomicInteger;

class Counter implements Runnable {
private static AtomicInteger i = new AtomicInteger(3);

public void run() {
System.out.print(i.getAndDecrement());
}
}

public class Test {
public static void main(String[] args) {
Thread t1 = new Thread(new Counter());
Thread t2 = new Thread(new Counter());
Thread t3 = new Thread(new Counter());
Thread[] threads = {t1, t2, t3};
for(Thread thread : threads) {
thread.start();
}
}
}
Я запускал этот код много раз и всегда получал в качестве ответа 321, но я не уверен, что этот код сможет получить какой-либо другой результат.

Подробнее здесь: https://stackoverflow.com/questions/788 ... inistic-or

Вернуться в «JAVA»