ТОП-10 популярных



Для работы с вещественными числами в MySQL предусмотрено три типа данных - это типы FLOAT, DOUBLE, DECIMAL. Числовой тип FLOAT...

НОУТБУК с блестящим экраном
Eсли выпустившая ноутбук фирма предлагает его в качестве «замены настольному ПК», то это должно подразумевать под собой нечто большее, чем...

БОЛЬШЕ БОЛЬШИХ LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...

Больше больших LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...

Магнито-оптический дисковод DynaMO
Cейчас, когда традиционные флоппи-дисководы на долгие годы замерли в своем развитии, поиск альтернативных носителей продолжается, и ситуация, казалось бы, разрешилась...

Иди и пиши. TravelMate C100
Планшетный компьютер платформы Tablet PC обязан в первую очередь быть легким, способным достаточно долго работать без подзарядки батарей. Эти требования...

ПОД ЛИТЕРОЙ «N»
Aтаку LCD-мониторов не остановить, а масштабы этого наступления даже немного пугают. Судите сами — многие пользователи только начинают приглядываться к новому для...


Для длинных строк, т.е. строк длиннее 255 символов, в MySQL предусмотрены типы BLOB (Binary Large Object, большой двоичный объект) и...

Размер объему не помеха.
С тех пор как компания Fujitsu отказалась от производства жестких дисков для настольных компьютеров, многие пользователи начали забывать о том,...


Какую только информацию мы не помещаем на компакт-диски: резервные копии важных данных, музыку, фильмы... Многие полагают, что главное - «купить...

PHP. Разное:Apache,IMAP,MnoGoSearch,OpenSSL. Часть Пятнадцатая.


02-05-2015

19.6. Семафоры ОС System V
PHP имеет расширение, предназначенное для работы с семафорами ОС System V. Если ваша операционная система поддерживает такую возможность, вы тоже можете добавить это расширение в установку PHP. На время написания этой книги работу с механизмами семафоров поддерживали только операционные системы Solaris, Linux и AIX.
Семафоры являются способом управления ресурсами, которые могли бы использоваться одним объектом, аналогично тому, как сигнальные флаги используются на кораблях для обмена информацией. Идею использования целочисленного счетчика для управления ресурсами операционных систем впервые предложил в начале 1960-х годов Эдсгер Дейсктра (Edsger Dijkstra).
Полное объяснение механизма работы семафоров выходит за рамки настоящей книги. Семафоры входят в стандартный курс по вычислительным системам в любом колледже, кроме того, описание механизма семафоров приводится во многих описаниях операционных систем. На Web-узле whatis.com <http://www.whatis.com/> в описании механизма семафоров сделана ссылка на книгу Ричарда Стивенса Unix Network Programming, опубликованную издательством Prentice Hall. Второе издание этой книги было опубликовано в двух томах в 1997 году.
boolean sem_acquire(integer identifier)
Функция sem_acquire (листинг 19.20) делает попытку запроса семафора, иден­тифицированного функцией sem_get. Эта функция блокирует работу до тех пор, пока семафор не будет получен. Существует реальная опасность вечного ожидания семафора. Одним из способов избежать этого является ограничение времени ожидания с последующей попыткой получить его еще раз. В этом случае значение семафора никогда не уменьшается.
Если блокировка семафора не будет снята с помощью функции sem_release, PHP снимет ее сам, выдав при этом предупреждение.
Разное:Apache,IMAP,MnoGoSearch,OpenSSL
integer sem_get(integer key, integer maximum, integer permission)
Функция sem_get предназначена для получения идентификатора семафора. Если семафора не существует, он будет создан. Необязательные аргументы maximum и permission используются только во время создания семафора. Аргумент maximum управляет количеством приемов семафора. По умолчанию его значение равно 1. Аргумент permission управляет привилегиями чтения и записи в семафор подобно тому, как это делается с файлами. По умолчанию его значение равно 0666 , что равносильно доступу с правами чтения и записи для всех пользователей. Аргумент key используется для идентификации процесса семафора среди других процессов в системе. Целое число, возвращаемое функцией sem_get, может быть уникальным при каждом вызове, даже тогда, когда задано то же значение аргумента key. 
boolean sem_release(integer identifier)
Функция sem_release предназначена для отмены действия функции sem_acquire function.
boolean sem_remove(integer identifier)
Функция sem_remove предназначена для удаления семафора из памяти.

Понравился материал? Поделитесь с друзьями!



<< Предыдущая статьяСледующая статья >>
PHP. Разное:Apache,IMAP,MnoGoSearch,OpenSSL. Часть Четырнадцатая. PHP. Разное:Apache,IMAP,MnoGoSearch,OpenSSL. Часть Шестнадцатая.