1
當你創建一個線程時,它會自動啓動參數中的線程函數嗎?線程功能時序
我使用
iret1 = pthread_create(&client[i++].tID, NULL, thread_function, NULL);
printf("Thread Created"); //for testing purposes
在我的線程函數我在最高層print語句。例如:
void *thread_function(void *arg){
printf("Entered thread function");
...
}
,而不是打印Entered thread function
Thread Created
之後
而且它不會打印Entered thread function
直到我開始另一個線程它打印的,有一個原因?
\ n是不打印的原因嗎?看看fflush頁面是否意味着線程函數會啓動,但我只是沒有看到「Entered ...」輸入?這是我真正想知道的 – emanyalpsid 2013-04-05 18:02:12
所以線程函數正在運行,但它只是printf消息在stdout的緩衝區中?我只使用printf來測試線程函數是否啓動 – emanyalpsid 2013-04-05 18:07:37
我不明白爲什麼你需要測試線程函數是否開始......如果'pthread_create'沒有失敗(它在成功時返回0 ,失敗時不爲零)。 – 2013-04-05 18:11:53