Documente Academic
Documente Profesional
Documente Cultură
incuiat (engl. locked), prin apelul functiei pthread_mutex_lock (se specifica in acest fel inceputul sectiunii critice); liber (engl. unlocked), prin apelul functiei pthread_mutex_unlock (specificand sfarsitul sectiunii critice).
Un singur fir de executie poate incuia un mutex la un moment dat. Firele de executie care incearca sa incuie un mutex deja incuiat se vor bloca pana cand firul de executie va fi deblocat. Cand firul de executie elibereaza mutexul, se va debloca urmatorul fir de executie (in ordinea prioritatii) care astepta eliberarea lui, va incuia mutexul si va deveni proprietarul acestuia. In acest fel, firele de executie se succed prin regiunea critica in ordinea prioritatii. Interfata C / POSIX pentru mutex-uri ("Programarea Aplicatiilor in Timp-Real", sectiunea 3.3, pag. 110):
int pthread_mutex_init(pthread_mutex_t* mutex, const pthread_mutexattr_t* attr); int pthread_mutex_lock(pthread_mutex_t* mutex); int pthread_mutex_unlock(pthread_mutex_t* mutex) int pthread_mutex_trylock(pthread_mutex_t* mutex) int pthread_mutex_destroy(pthread_mutex_t* mutex)
Desfasurarea lucrarii: Exemplu: utilizarea mutex-urilor pentru accesul firelor de executie la resurse partajate (Contor.c). Bibliografie: Sectiunea 3.3 (pag. 110), Sisteme in Timp-Real. Teorie si Practica