我有一个包含整数值的数组,声明如下:
int data[] = new int[n];
每个值都需要被处理,我正在将工作分成几个部分,以便可以由不同的线程进行处理。在处理期间数组不会被修改。
所有处理线程是否可以同时读取数组的不同部分?还是说我需要使用锁?
换句话说:这个工作顺序是线程安全的吗?
Array is created and filled
Threads are created and started
Thread 0 reads data[0..3]
Thread 1 reads data[4..7]
Thread 2 reads data[8..n]