Dobry Wieczór
Mam 2pytanka dotyczące wątków dot. poniższego kodu :
#include <iostream>
#include <pthread.h>
#include <unistd.h>
#include <sys/types.h>
using namespace std;
void* fun1(void *w)
{
for(long i = 0; i < 1000000000; ++i);
cout <<"Jestem watkiem nr " << (int)w << endl;
cout <<"watek nr " << (int)w << " ma pid " << getpid() << endl;
return 0;
}
int main()
{
/*
fun1((void*)1);
cout << "===========" << endl;
fun1((void*)2);
*/
pthread_t p1,p2;
cout << "LINUX" << endl;
pthread_create(&p1, 0, fun1, (void*)1);
pthread_create(&p2, 0, fun1, (void*)2);
cout << "Koniec imprezy " << endl;
phtread_join(p1, 0);
pthread_join(p2, 0);
return 0;
}
Dlaczego dostaję komunikat w takiej postaci ??
LINUX
Koniec imprezy
jestem watkiem nr 1
watek nr 1 ma pid 21496
jestem wątkiem nr 2
watek nr 2 ma pid 21496
Skoro najpierw wywołuję funkcję we wątkach, a potem koniec imprezy i czekam aż wątki p1, p2 się zakończą.
Pozdrawiam
Alan