有没有办法安全地从多个线程填充一个字节数组(例如,第一个线程填充前半部分,第二个线程使用System.arraycopy填充后半部分)而不使用Java 6或7同步数组本身? jsr166相关库只包含int数组(AtomicIntegerArray,ParallelIntegerArray)。
答案 0 :(得分:6)
是的,它有效。写入阵列位置不会干扰附近的位置。但是,您需要确保所有线程在读取之前已完成(之前发生的关系)。您使用数组的事实没有区别。
答案 1 :(得分:0)
哦,这听起来像是让人头疼的好方法。 :)我想我会为每个线程找一个数组,然后加入它们。