在销毁所有线程后,如何保留全局变量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
}
答案 0 :(得分:0)
谢谢Aneri。我做了类似这样的事情来结束所有线程并且它起作用了。
//创建
for(i = 0; i< max_threads; i ++) pthread_create(& threadid [i],...)
//结束
...
for (i = 0; i < max_threads; i++){
pthread_join (threadid[i],&status)
}
打印结果