我有一个包含整数值的数组,声明如下:
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]