完成pthread后打印变量

时间:2013-06-03 08:18:29

标签: c multithreading pthreads

在销毁所有线程后,如何保留全局变量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


}

1 个答案:

答案 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)

}

打印结果