Aca dejo el código en cuestión:
Código:
grx! #include <iostream> #include <cstdlib> #include <pthread.h> using namespace std; struct thread_data { int thread_id; string name; }; void *printId(void *threadid){ long tid = (long)threadid; //cout<<"Misionero ID: "<<(int)getpid()<<"\n"; cout<<"Misionero ID: "<<(unsigned int)pthread_self()<<"\n"; pthread_exit(NULL); } void crearMisioneros(int cant_misioneros){ pthread_t misioneros[cant_misioneros]; int i, rc; for (i=0; i<cant_misioneros; i++) { rc = pthread_create(&misioneros[i], NULL, printId, (void *)i); if(rc){ exit(-1); } } pthread_exit(NULL); } int main(int argc, char *argv[]) { int cant_misioneros; cout << "CANTIDAD DE MISIONEROS: "; cin >> cant_misioneros; crearMisioneros(cant_misioneros); }