即時通訊使用Ubuntu 10.10,Code :: Blocks和GCC 4.2。主線程在pthread後不會繼續
我已經寫了這樣的代碼是:
#include <iostream>
#include <stdlib.h>
#include <pthread.h>
using namespace std;
void *thread1proc(void* param){
while(true)
cout << "1";
return 0;
}
int main(){
pthread_t thread1;
pthread_create(&thread1,NULL,thread1proc,NULL);
pthread_join(thread1,NULL);
cout << "hello";
}
主要開始,創建線程。但奇怪的是(對我來說)主要不會繼續運行。我期望在屏幕上看到「hello」消息並結束程序。因爲在Windows中,在Delphi中它就像那樣爲我工作。如果「主」也是一個線程,爲什麼它不能繼續運行?是關於POSIX線程嗎?
謝謝。
對於便攜性,明確創建一個可連接狀態的線程與`pthread_attr_setdetachstate(ATTR,PTHREAD_CREATE_JOINABLE)` – 2010-12-06 20:27:44