2013-06-03 36 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) 

} 

打印效果