Este ejemplo es muy simple y muestra el uso básico de QMutex para forzar la exclusión mutua entre una serie de Threads que acceden a una región critica, se define una clase ThreadR que implementa el acceso a la región critica, dicha región critica utiliza los métodos lock() y unlock() de la clase QMutex para garantizar que solo uno de los threads accede a la variable protegida.
void run() { while( true ) { mutex.lock(); Reportar( mNumero ); mutex.unlock(); sleep( (rand() % 5 )+ 1 ) ; } }
Descargar Código Fuente
Comentarios
Publicar un comentario