Получение значения переменной потока извне

Допустим, у меня есть поток, работающий так:

private boolean working = true;

@Override public void run() {
   working = true;
   // do something
   working = false;
   ....
}

и в моем основном потоке я постоянно выставляю состояние working с

while(threadClassObject.isWorking()) {
    System.out.println(threadClassObject.isWorking());
}

будет ли это работать? Я попробовал этот пример и, кажется, он работает. Но может ли это привести к сбою? Что, например, произойдет, если поток находится в процессе изменения состояния работы, в то время как основной поток пытается прочитать его?

6
задан Tudor 4 March 2012 в 11:11
поделиться