Cuando en la func2 se llama al método mon.registrarse , es necesario pasar el thread (de ser asi, como lo paso y como lo identifico luego en el método en cuestion) o no se debe pasar y automaticamente el thread ingresa en el metodo mencionado. ?
Y si dentro del metodo registrarse quiero dormir algun thread en particular como se debe hacer ?
Código:
Grx! main.cpp Monitor mon; void *func2(void *arg){ int tid; string b; datos *p = (datos *) (arg); tid = (p->dato1); b = (p->dato2); mon.registrarse(); } void crearThreads(int cant){ pthread_t cthreads[cant]; int i, rc; for (i=0; i<cant; i++) { param[i].dato1=i; param[i].dato2="T"; rc = pthread_create(&cthreads[i], NULL, func2, (void *)¶m[i]); if(rc){ exit(-1); } } } ------------------------- Monitor.cpp void registrarse(){ pthread_mutex_lock(&mutex); cant++; pthread_mutex_unlock(&mutex); }