Czy jest jakiś powód, aby używać niestabilnego i zsynchronizowanego razem w tym kodzie?Niestabilna ze zsynchronizowanym razem
public class Helper {
private volatile int n;
private final Object lock = new Object();
public Helper(int n) {
this.n = n;
}
public void setN(int value) {
synchronized (lock) {
n = value;
}
}
}
Pomoc klasa musi być bezpieczna dla wątków. Mam tego przykładu z książki "Java Concurrency Guidelines", ale nadal nie jest jasne: jaki jest powód używania niestabilne i zsynchronizowane razem w tym przykładzie?
Jaka jest dokładnie książka, o której mówisz? Zdecydowanie poleciłbym podręcznik Java Concurrency in Practice (http://jcip.net/), aby poznać współbieżność Java. –
Znalazłem tę książkę tutaj (strona 167) http://www.sei.cmu.edu/reports/10tr015.pdf Wszystko w tej książce jest całkiem jasne, z wyjątkiem tego przypadku tylko –
Użyj AtomicInteger. – khachik