Is it required to synchronize write access to an array in Java if each thread writes to a separate cell space?
EDIT: Specifically, the array is eith
No, synchronization is not needed.
It is defined in JLS §17.6 Word Tearing:
One implementation consideration for Java virtual machines is that every field and array element is considered distinct; updates to one field or element must not interact with reads or updates of any other field or element. In particular, two threads that update adjacent elements of a byte array separately must not interfere or interact and do not need synchronization to ensure sequential consistency.