0

在所有线程都被销毁后,如何保留全局 var BitArray 的值?如果我在终止线程之前尝试打印变量,它可以工作,但由于线程以任何顺序执行,所以此时显示值的点更少。相反,我想在线程处理完变量后打印我的变量。这就是我的代码。提前致谢 :)。声明 BitArray 全局

int main(){

create some threads... to modify BitArray

PrintBitStreamData(BitArray, maxsize); //prints output

pthread_attr_destroy(&attr);
pthread_join(threadid[0], &status);
pthread_exit(NULL);

PrintBitStreamData(BitArray, maxsize); //doesn't to anything


}
4

1 回答 1

0

谢谢阿内里。我做了这样的事情来结束所有线程并且它有效。

//创建

for (i = 0; i < max_threads; i++) pthread_create (&threadid[i],...)

//结束

...

for (i = 0; i < max_threads; i++){

    pthread_join (threadid[i],&status)

}

打印结果

于 2013-06-03T15:52:21.950 回答