Здравствуйте, Nicht, Вы писали:
N>В этом случае никто не гарантирует что результат записи потоков в этот массив будет виден в потоке, которые потом это дело читает. Вся запись поихайдет в локальном кэше процессора и без синхронизации кеша все может статься локально. Так что volatile таки нужен.
volatile будет действовать только на переменную, которая ссылается на весь массив. Даже если запись в массив кешировалась на потоке, это было бы важно только если бы происходило параллельное чтение. Чтение (по словам автора) происходит отдельным потоком после того как запись завершилась.