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);
}

