Untitled Document

Учебник РНР
НазадВперёд

XC. Функции Semaphore, Shared Memory и IPC

Этот модуль предоставляет оболочки для семейства функций System V IPC. Он включает семафоры, shared-память и внутрипроцессные сообщения/inter-process messaging (IPC).

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

Этот модуль также предоставляет функции для работы с shared-памятью с использованием совместно используемой памяти System V. Shared-память может использоваться для предоставления доступа к глобальным переменным. Различные httpd-демоны и даже другие программы (такие как Perl, C, ...) могут получать доступ к этим данным, что даёт глобальный обмен данными. Помните, что shared-память НЕ защищена от одновременного доступа. Используйте семафоры для синхронизации.

Таблица 1. Ограничения Shared-памяти в ОС Unix
SHMMAXмаксимальный размер shared-памяти, нормально 131072 байт
SHMMINминимальный размер shared-памяти, нормально 1 байт
SHMMNIмаксимальное количество сегментов shared-памяти в системе, нормально 100
SHMSEGмаксимальное количество сегментов shared-памяти на процесс, нормально 6

Функции сообщений могут использоваться для отправки и получения сообщений в/из других процессов. Они являются простым и эффективным средством обмена данными между процессами без необходимости без необходимости настройки альтернативного использования сокетов домена unix.

Примечание: эти функции не работаю на системах Windows.

Содержание
ftok - конвертирует pathname и идентификатор проекта в ключ System V IPC
msg_get_queue - создаёт очередь сообщений или присоединяет к ней
msg_receive - получает сообщение из очереди сообщений
msg_remove_queue - разрушает очередь сообщений
msg_send - отправляет сообщение в очередь сообщений
msg_set_queue - устанавливает информацию в структуре данных очереди сообщений
msg_stat_queue - возвращает информацию из структуры данных очереди сообщений
sem_acquire - получает семафор
sem_get - получает id семафора
sem_release - освобождает семафор
sem_remove - удаляет семафор
shm_attach - создаёт или открывает сегмент shared-памяти
shm_detach - отсоединяет от сегмента shared-паямти
shm_get_var - возвращает переменную из shared-памяти
shm_put_var - вставляет или обновляет переменную в shared-памяти
shm_remove_var - удаляет переменную из shared-памяти
shm_remove - удаляет shared-память из Unix-систем

НазадОглавление Вперёд
sql_regcaseВверхftok
Физика лабы
Элементарная математика Кратные интегралы Математический анализ
Векторный анализ Аналитическая геометрия Пределы функции Изучение функции Конспекты по математике Комплексные числа Дифференциальные уравнения Определенные интегралы Лекции по высшей математике Исследование функций Вычисление объема с помощью интегралов Алгеброические структуры