Связь и интернет Архив Программирование
   
Сделать стартовойСделать закладку            
   ПОИСК  
   
Главная / PHP / Руководство по РНР 3.0 / Справочник функций /
8  Perl
8  PHP
8  JavaScript
8  HTML
8  DHTML
8  XML
8  CSS
8  C / C++
8  Pascal и Delphi
8  Турбо Ассемблер
8  MySQL
8  CASE-технологии
8  Алгоритмы
8  Python
8  Обратная связь
8  Гостевая книга
Новости о мире


Функции семафоров и разделяемой памяти - Программирование от RIN.RU
Функции семафоров и разделяемой памяти




Этот модуль предоставляет функции семафоров, используя семафоры System V. Семафоры могут использоваться для обеспечения эксклюзивного доступа к русурсам используемой машины или для ограничения числа процессов, которые могут одновременно использовать ресурс.


Поддержка разделяемой памяти также включена. Она совместима с System V - совместимыми системами.


sem_get


sem_get -- получение идентификатора семафора


Описание int sem_get (int key, int [ max_acquire ] , int [ perm ] );


Возвращает положительный индентификатор семафора при успехе или false при ошибке.


sem_get() возвращает идентификатор, который может быть использован для доступа к семафору System V с указанным ключом. Семафор создается, если необходимо, используя биты доступа, указанные в perm (по умолчанию 0666). Число процессов, которое может быть зафиксировано семафором одновременно устанавливается в max_acquire (по-умолчанию 1). В действительности это значение устанавливается только если процесс обнаруживает, что он является единственным, присоединенным к семафору.


Повторный вызов функции sem_get() с тем же ключем вернет другой идентификатор семафора, но оба идентификатора указывают на один и тот же семафор.


См. также: sem_acquire() and sem_release() .



sem_acquire


sem_acquire -- фиксирует семафор


Описание int sem_acquire (int sem_identifier);


Возвращает true при успехе, false при ошибке.


sem_acquire() блокируется (если необходимо) до тех пор, пока семафор сможет быть зафиксирован. Процесс, пытающийся зафиксировать семафор, который уже зафиксирован, буде блокирован навсегда, если фиксация семафора вызовет превышение его max_acquire значения..


После обработки запроса, любые семафоры, зафиксированные процессом, но не освобожденные вручную, будут освобождены автоматически с выдачей предупреждения.


См. также: sem_get() and sem_release() .



sem_release


sem_release -- освобождает семафор


Описание int sem_release (int sem_identifier);


Возвращает true при успехе и false при ошибке.


sem_release() освобождает семафор если он зафиксирован в данное время вызывающим процессом, иначе выдается предупреждение.


После освобождения семафора функция sem_acquire() может быть вызвана для ре-фиксации его.


См. также:
sem_get() and sem_acquire() .



shm_attach


shm_attach -- Создает или открывает разделяемую память


Описание int shm_attach (long key, long memsize, long perm);


Создает или открывает разделяемую память с указанным ключем и размером памяти.



shm_detach


shm_detach -- Отсоединяет от разделяемой памяти


Описание int shm_detach (long id);


Отсоединяет от разделяемой памяти с указанным id , созданным с помощью функции shm_attach() . Помните, что разделяемая память все еще существует в Unix-системе и данные все еще присутствуют.



shm_put_var


shm_put_var -- Вставляет или обновляет переменную в разделяемой памяти


Описание int shm_put_var (int id, long variable_key, mixed variable);


Вставляет или обновляет переменную с указанным variable_key. Все типы переменных (double, long, string, array) поддерживаются. Функция serialize() может быть использована для хранения данных.



shm_put_var


shm_put_var -- Считывает переменную с указанным variable_key


Описание mixed shm_get_var (int id, long variable_key);


Считывает переменную с указанным variable_key . Переменная все еще присутствует в разделяемой памяти. Функция unserialize() может быть использована для декодирования данных.



shm_remove_var


shm_remove_var -- Удаляет переменную из разделяемой памяти


Описание int shm_remove_var (int id, long variable_key);


Удаляет переменную с указанным variable_key из разделяемой памяти.



shm_remove


shm_remove -- Удаляет разделяемую память


Описание int shm_remove (long key);


Удаляет разделяемую память из Unix-системы. Все данные будут уничтожены.



 8  Комментарии к статье  8  Обсудить в форуме  8  Обсудить в чате

8  В тему

Adabas D функции

Специфичные функции Apache

Функции обработки массивов

Математические BC (произвольной точности) функции

Календарные Функции

Функции Даты/Времени

dBase функции

Функции dbm

Функции для работы с каталогами

Функции запуска программ

Функции работы с filePro

Функции файловой системы

Функции, связанные с HTTP

Функции работы с Hyperwave

Функции работы с изображениями

Функции IMAP

PHP опции и информация

Функции работы с Informix

LDAP Функции

Почтовые функции

Математические функции

Дополнительные функции

Функции mSQL

Функции MySQL

Функции для работы с Sybase

Сетевые функции

Функции ODBC

Функции Oracle

Функции PDF

Функции PostgreSQL

Функции регулярных выражений

Solid (надежные) функции

Функции SNMP

Строковые функции

Функции URL

Функции переменных

Функции Vmailmgr

Функции Gz-файлов

 
  
  
    Copyright ©  RIN 2003 - 2004      * Обратная связь