次の操作を行うマルチスレッド プログラムにブロックがあります。
void func(args){
do computation;
for(i = 0; i < n ; i++)
value[i] += computed_value;
}
複数のスレッドがこの関数を実行します。そのため、ロックを使用してプログラムをスレッドセーフにする必要があります。ロックにより、プログラムはシングルスレッドプログラムよりも遅くなります。ロックを使用してみましたが、プログラムが非常に遅くなります。また、いくつかの代替アプローチを提案してください。