如何安全地从多个线程填充字节数组?

aka*_*okd 1 java multithreading bytearray

有没有办法安全地从多个线程填充一个字节数组(例如,第一个线程填充前半部分,第二个线程使用System.arraycopy填充后半部分)而不使用Java 6或7同步数组本身?jsr166相关库只包含int数组(AtomicIntegerArray,ParallelIntegerArray).

Tom*_*ine 6

是的有效.写入阵列位置不会干扰附近的位置.但是,您需要确保所有线程在读取之前已完成(之前发生的关系).您使用数组的事实没有区别.