我想用posix線程寫一些代碼,但我從第一步卡住,說實話我不明白爲什麼。我知道我的問題可能與某種同步有關,但我無法弄清楚。動態pthread產卵同步所需(???)
我在主要是以下幾點:
while(1){
int x = getX();
pthread_t t;
printf("Main: %d\n",x);
pthread_create(&t, NULL, process_x, &x);
}
當我嘗試從主,也是process_x功能我得到的是這樣的打印x值:
主:1
主:2
主:3
主營:4
主營:5
Process_x:5
我怎麼會錯過嗎?
----編輯-----
好吧,也許我需要提供一些更多的信息。 getX函數接收來自套接字的數據並返回一個標識符,而對於我們現在的需要,process_x只是輸出它接收到的參數。
你對這個問題和你的代碼非常熟悉,但我們不是。請給我更多的解釋併發布代碼?應該發生什麼? – gbulmer 2012-03-30 09:40:09
你的'Main:%d'打印在哪裏? – 2012-03-30 09:44:11
所以我認爲印刷的東西是不對的。哪裏不對?你期望它打印什麼? – ArjunShankar 2012-03-30 09:48:24