class EverythingMustBeInAClass
{
private final int i = 42;
private final int[] a = {2, 3, 5, 7, 11, 13, 17, 19};
}
Тот факт, что i
объявлен final
гарантии, что все потоки увидеть то же значение INT 42 (вместо 0).несколько потоков массива доступа
Тот факт, что a
объявлен final
гарантии, что все потоки увидеть тот же массив ссылочный.
Но как я могу убедиться, что все потоки видят один и тот же массив элементов (вместо 0s)? Нужно ли мне синхронизировать доступ к массиву, даже если я никогда не намерен менять элементы массива позже?