изменчивый идентификатор в java

Я не понимаю тех немногих заявлений, которые я прочитал. :

поскольку доступ к изменчивой переменной никогда не удерживает блокировку, это не подходит для случаев, когда мы хотим читать-обновлять-писать как атомарные операция (если мы не готовы «пропустить обновление»);

Что это значит, я не могу читать-обновлять-писать?

Когда я захочу использовать 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;
  }
}
5
задан Dmitry Makovetskiyd 29 August 2011 в 07:49
поделиться