我想使用线程 id 来访问一个定义为全局变量的数组。但是我在加一时遇到了问题。看看下面:
// 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 行中),他们将其相加不止一次)。