Synchronizing Attributes
Thread 1 Thread 2 Thread 3
High Priority Med Priority Low Priority
sleep() sleep()
P_M_L(mutex);
......
(Wakes up)
P_M_L(mutex);
......
(Wakes up)
while(1);
Priority Mutexes
int pthread_mutexattr_setprotocol(pthread_mutex_attr *attr, int protocol);
int pthread_mutexattr_getprotocol(pthread_mutex_attr *attr, int * protocol);
PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT
PTHREAD_PRIO_INHERIT
int pthread_mutexattr_setprioceiling(pthread_mutex_attr *attr, int prio);
int pthread_mutexattr_getprioceiling(pthread_mutex_attr *attr, int * prio);