LAB5: Nadogradnja sinkronizacijskih mehanizama


U ovoj vježbi potrebno je napraviti nekoliko dodataka:
  1. proširiti semafore i monitore pozivima: sem_trywait i pthread_mutex_trylock
  2. dodati zaključavanje radnim čekanjem: pthread_spin_init/destroy/lock/trylock/unlock
  3. dodati zaključavanje čitaj/piši: pthread_rwlock_init/destroy/rdlock/wrlock/unlock
Mehanizmi su opisan u skripti, u dodatku E. Definicija sučelja (i ponašanje) može se dobiti pomoću uputa man stranica (npr. man pthread_rwlock_init).

Napisati program s barem dvije dretve koje demonstriraju korištenje navedena sučelja.