Инициализировать условную переменную
#include <pthread.h>pthread_cond_t cond = PTHREAD_COND_INITIALIZER;int pthread_cond_init( pthread_cond_t *cond,const pthread_condattr_t *attr );
pthread_cond_t
.NULL
или указатель на объект pthread_condattr_t
, определяющий атрибуты условной переменной. Подробности отражены на странице pthread_condattr_init().libc
Функция pthread_cond_init() инициализирует условную переменную cond с указанными атрибутами attr. Если attr равно NULL
, cond инициализируется со значениями атрибутов по умолчанию.
Следует аллоцировать объекты синхронизации только в памяти с типичным мапированием. Так, на некоторых процессорах с архитектурой PPC атомарные операции вроде pthread_mutex_lock() будут приводить к падению процесса если выделенная память является не кешируемой. |
Если условная переменная аллоцируется статически, доступен способ инициализации через макрос PTHREAD_COND_INITIALIZER:
pthread_cond_t cond = PTHREAD_COND_INITIALIZER;
Условные переменные имеют по крайней мере следующие определенные атрибуты:
Установить или определить текущее значение атрибутов можно с помощью функций pthread_condattr_getpshared() и pthread_condattr_setpshared().
POSIX 1003.1 Threads
pthread_condattr_init(), pthread_cond_destroy()
Предыдущий раздел: Описание API системной библиотеки