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

时间:2009-09-04 11:30:05

标签: java multithreading bytearray

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

2 个答案:

答案 0 :(得分:6)

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

答案 1 :(得分:0)

哦,这听起来像是让人头疼的好方法。 :)我想我会为每个线程找一个数组,然后加入它们。