2014-02-25 79 views
1

我有這樣的代碼:我可以多次運行相同的線程嗎?

while(1) { 
    if(request == ACCEPT) 
      pthread_create(&t1, NULL, test_thread, NULL); 
} 

和test_thread代碼如下

void *test_thread(void * arg) 
{ 
     //never ending function 
} 

這工作正常,並沒有得到任何問題。但是我的問題是否有任何問題,如果我這樣跑?

+1

唯一值得關注的是// //永不結束函數......如果你不斷創建永不死亡的線程,那麼最終會耗盡資源:) – isedev

回答

2

您可以使用相同的線程程序創建多個線程。唯一需要擔心的是共享數據(全局/靜態變量等)。

+0

如果我想在將來與其他線程通信,可能嗎? – SGG

+0

是的。你將不得不分享一些數據,其中包括一些同步對象。訪問共享數據時,請謹慎使用後者。 – Medinoc

+2

@SGG注意不要在你的問題中變得太寬泛,否則它將因爲脫離主題而被關閉。如果你想了解並行編程,StackOverflow不是你的網站。搜索關於此的教程。詢問(指向)一個也不屬於這裏。我們不是Google。 – Alfe

相關問題