1

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

4

2 回答 2

6

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

于 2009-09-04T11:37:20.190 回答
0

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

于 2009-09-04T11:38:15.773 回答