2013-06-03 37 views
0

如何在所有线程销毁后保留全局变量BitArray的值? 如果我在终止线程之前尝试打印该变量,但由于线程以任意顺序执行,因此此时显示的值较少。而是我想在线程处理完毕后打印我的变量。 以下是我的代码。提前致谢 :)。 声明BitArray全球完成pthread后的打印变量

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

加入所有输出前的线程。 – Aneri

+0

所以我应该把我的输出,PrintBitStreaData后pthread_join? – codeBarer

+0

它像一个魅力工作。谢谢! – codeBarer

回答

0

谢谢Aneri。我做了这样的事情来结束所有的线程,它工作。

//用于创建

(I = 0;我< max_threads的;我++) 在pthread_create(&线程ID [1],...)

//结束

...

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

    pthread_join (threadid[i],&status) 

} 

打印效果