Получить значение атрибута совместного использования для заданного мьютекса
#include <pthread.h>int pthread_mutexattr_getpshared( const pthread_mutexattr_t *attr,int *pshared );
pthread_mutexattr_t
, из которого требуется получить атрибут.libc
Функция pthread_mutexattr_getpshared() получает атрибут совместного использования из объекта атрибута мьютекса attr и сохраняет его в памяти, на которую указывает pshared.
Если для атрибута совместного использования установлено значение PTHREAD_PROCESS_SHARED
, любой поток, имеющий доступ к памяти, в которой выделена условная переменная, может работать с ней, даже если условная переменная выделена в памяти, совместно используемой несколькими процессами.
Если атрибут совместного использования процесса имеет значение PTHREAD_PROCESS_PRIVATE
, доступ к условной переменной могут получить только потоки, созданные в том же процессе, что и поток, который инициализировал условную переменную; если потоки из других процессов пытаются получить доступ к переменной условия PTHREAD_PROCESS_PRIVATE
, поведение не определено. Значением по умолчанию для атрибута совместного использования является PTHREAD_PROCESS_PRIVATE
.
POSIX 1003.1 Threads, Thread Process-Shared Synchronization
pthread_cond_init(), pthread_create(), pthread_mutex_init(), pthread_mutexattr_setpshared(), pthread_mutexattr_setrecursive(), pthread_mutexattr_settype()
Предыдущий раздел: Описание API системной библиотеки