Разрушает мьютексный атрибутный объект, заданный параметром attr, в результате чего он становится неинициализированным. Его можно инициализировать повторно с помощью функции pthread_mutexattr_init() | |
int pthread_mutexattr_setprioceiling (pthread_mutexattr_t * attr, int prioceiling); | Устанавливает и возвращает атрибут предельного приоритета мьютекса, заданного параметром attr. Параметр prioceiling содержит значение предельного приоритета мьютекса. Атрибут prioceiling определяет минимальный уровень приоритета, при котором еще выполняется критический раздел, защищаемый мьютексом. Значения, которые попадают в этот диапазон приоритетов, определяются стратегией планирования SCHED_FIFO |
int pthread_mutexattr_getprioceiling (const pthread_mutexattr_t * restrict attr, int *restrict prioceiling); | |
int pthread_mutexattr_setprotocol (pthread_mutexattr_t * attr, protocol int protocol); | Устанавливает и возвращает атрибут протокола мьютекса, заданного параметром attr. Параметр protocol может содержать следующие значения: PTHREAD_PRIO_NONE (на приоритет и стратегию планирования потока владение мьютексом не оказывает вли |
int pthread_mutexattr_getprotocol (const pthread_mutexattr_t * restrict attr, int *restrict protocol); | |
PTHREAD_PRIO_PROTECT (при таком протоколе потоки, владеющие таким мьютексом, будут выполняться при наивысших предельных значениях приоритетов всех мьютексов, которыми владеют эти потоки, независимо оттого, заблокированы ли другие потоки по каким-то из этих мьютексов) | |
int pthread_mutexattr_setpshared (pthread_mutexattr_t * attr, int pshared); | Устанавливает и возвращает атрибут process-shared мьютексного атрибутного объекта, заданного параметром attr. Параметр pshared может содержать следующие значения: |
int pthread_mutexattr_getpshared (const pthread_mutexattr_t * restrict attr, int *restrict pshared); | PTHREAD_PROCESS_SHARED (разрешает разделять мьютекс с любыми потоками, которые имеют доступ к выделенной для этого мьютекса памяти, даже если эти потоки принадлежат различным процессам); |
PTHREAD_PROCESS_PRIVATE | |
(мьютекс разделяется между потоками одного и того же процесса) | |
int pthread_mutexattr_settype (pthread_mutexattr_t* attr, int type); | Устанавливает и возвращает атрибут мьютекса |
int | PTHREAD_MUTEX_DEFAULT PTHREAD_MUTEX_RECURSIVE PTHREAD_MUTEX_ERRORCHECK PTHREAD_MUTEX_NORMAL |
pthread_mutexattr_gettype (const pthread_mutexattr_t * restrict attr, int *restrict type); |
Самый большой интерес представляет установка атрибута, связанного с тем, каким должен быть мьютекс: закрытым или разделяемым.