Мы часто используем volatile
, чтобы гарантировать, что переменная условия может быть видна каждому потоку.
Я вижу, что поля volatile
все примитивны наберите
в коде.
Имеется ли эта проблема в поле объекта
? Например:
class a {
public String str;
public List list;
}
Если есть потоки, которые будут обращаться к str и list, должен ли я добавить 'volatile'?
Думаю, каждый доступ к Object
будет осуществляться непосредственно из Heap
], а объект
не будет кэшироваться как примитивный тип.
Верно?