スレッド ID を使用して、グローバル変数として定義されている配列にアクセスしたいと考えていました。しかし、私は1で合計する際に問題に直面しています。以下をご覧ください。
// initial array myU[0..3]={0,0,0,0}, myindex[0..3]={0,1,1,3}
1- tid=0,1,2,3 //tid is threads index
2- id=myindex[tid]; //id=0,1,1,3
3- myU[id]=myU[id]+1;
4- if (myU[id]>1)
//print("id"); // it should print '1'
行 3 を実行した後、myU[0]=1、myU[1]=2、myU[3]=1 があると仮定しました。しかし、myU
配列には myU[0]=0、myU[1]=1、myU[3]=3 のような奇妙な値があります。どうしてか分かりません。
私の最終的な目標は、ID(4行目)を取得することです。これは、1回以上合計されます)。