The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Каталог документации / Раздел "Программирование в Linux" / Оглавление документа
next up previous contents
Next: Инициализация переменной состояния Up: Переменные состояния Previous: Работа с атрибутами переменных   Contents

Видимость переменной состояния

Областью видимости переменной состояния может быть либо процесс, либо вся система, как и для мьютексов. Если переменная состояния создана с атрибутом pshared, установленным в состояние PTHREAD_PROCESS_SHARED, и она находится в разделяемой памяти, то эта переменная может разделяться среди потоков нескольких процессов. Если же атрибут pshared установлен в значение
PTHREAD_PROCESS_PRIVATE (по умолчанию), то лишь потоки, созданные тем же самым процессом, могут оперировать этой переменной.

Функция pthread_condattr_setpshared() используется, чтобы
установить область видимости переменной состояния. Она возвращает 0 - после успешного завершения. Любое другое значение указывает, что произошла ошибка. Пример использования функции:

#include <pthread.h> 

pthread_condattr_t cattr; 

int ret; 

/* Область видимости - все процессы */ 

ret = pthread_condattr_setpshared(&cattr,

      PTHREAD_PROCESS_SHARED); 

/* Внутренняя переменная для процесса */ 

ret = pthread_condattr_setpshared(&cattr,

      PTHREAD_PROCESS_PRIVATE);

Функция
int pthread_condattr_getpshared(
    const pthread_condattr_t *cattr, int *pshared)
используется для получения области видимости переменной состояния.



2004-06-22



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру