Когда происходит обновление кеша потока Java?

Поток 1: выполняет этот цикл

while(running) {
// Do Task()
} 
println("Done");

Поток 2 устанавливает значение" false " В случае, если running является изменчивой переменной, thread1 выходит из цикла и печатает «Done».

У меня вопрос, если выполнение не является энергозависимым, когда Thread1 читает текущую переменную из основной памяти?

Примечание: я знаю, что происходит до отношения о синхронизации и изменчивой переменной, но поток 1 останавливается, даже если выполняется не изменчив и не синхронизирован. Итак, мой вопрос: когда поток 1 решает читать из основной памяти, учитывая, что НЕТ СИНХРОНИЗАЦИИ или НЕТ ВОЛАТИЛЬНОГО

9
задан 2sb 16 February 2011 в 21:38
поделиться