next up previous contents
Next: Блокировка через переменную состояния Up: Переменные состояния Previous: Видимость переменной состояния   Contents

Инициализация переменной состояния

Функция pthread_cond_init() инициализирует переменную состояния:

int pthread_cond_init (pthread_cond_t *cv,

     const pthread_condattr_t *cattr);

Инициализируемая переменная состояния указана cv и устанавливается в значение по умолчанию, если cattr равен NULL, или на определенные cattr атрибуты, которые уже установлены через вызов pthread_condattr_init().

Статические переменные состояния могут инициализироваться непосредственно значениями по умолчанию с помощью макроса
PTHREAD_COND_INITIALIZER. Несколько потоков не должны одновременно инициализировать или повторно инициализировать ту же самую переменную состояния. Если переменная состояния повторно инициализируется или удаляется, приложение должно убедиться, что эта переменная состояния больше не используется;
pthread_cond_init() возвращает 0 после успешного завершения. Любое другое значение указывает, что произошла ошибка. Пример использования функции:

#include <pthread.h> 

pthread_cond_t cv; 

pthread_condattr_t cattr; 

int ret; 

/* инициализация значениями по умолчанию */ 

ret = pthread_cond_init(&cv, NULL); 

/* инициализация определенными значениями */

ret = pthread_cond_init(&cv, &cattr);



2004-06-22