有没有一种方法可以安全地从多个线程填充字节数组(例如,第一个线程填充前半部分,第二个线程使用System.arraycopy填充后半部分),而不需要使用Java6或7在数组本身上进行同步?与jsr166相关的库只包含整数数组(AtomicIntegerArray、ParallelIntegerArray)。
发布于 2009-09-04 11:37:20
是的,它可以工作。写入数组位置不会干扰附近的位置。但是,您需要确保所有线程在读取之前都已完成(一种发生之前的关系)。使用数组并不会有什么不同。
发布于 2009-09-04 11:38:16
啊,这听起来像是治疗头痛的好方法。:)我想我会选择每个线程一个数组,然后加入它们。
https://stackoverflow.com/questions/1378693
复制相似问题