Я не понимаю тех немногих заявлений, которые я прочитал. :
поскольку доступ к изменчивой переменной никогда не удерживает блокировку, это не подходит для случаев, когда мы хотим читать-обновлять-писать как атомарные операция (если мы не готовы «пропустить обновление»);
Что это значит, я не могу читать-обновлять-писать?
Когда я захочу использовать volatile вместо простого логического. Я помню, что в C # я мог использовать простой static bool для управления запуском и остановкой потока, но в java мне нужно использовать идентификатор «volatile»:
> public class StoppableTask extends Thread {
private volatile boolean pleaseStop;
public void run() {
while (!pleaseStop) {
// do some stuff...
}
}
public void tellMeToStop() {
pleaseStop = true;
}
}