Im en utilisant Ubuntu 10.10, Code :: Blocs avec GCC 4.2.principal ne continue pas après pthread
J'ai écrit un code comme ça:
#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";
}
commence Main, crée le fil. Mais ce qui est bizarre (pour moi) c'est que Main ne continue pas à courir. Je m'attends à voir un message "bonjour" à l'écran et la fin du programme. Parce que dans Windows, en Delphi cela a fonctionné pour moi comme ça. Si "main" est aussi un thread, pourquoi ne continue-t-il pas à fonctionner? S'agit-il de l'enfilage POSIX?
Merci.
Pour la portabilité, créez explicitement les discussions dans un état avec 'pthread_attr_setdetachstate jumelables (& attr, PTHREAD_CREATE_JOINABLE)' –