OnYourLips
@OnYourLips

Как реализовать межпроцессные блокировки/семафоры?

Какой IPC использовать для залочивания определенных действий в программе, выполняющейся в разных процессов?

Целевая ОС - Linux, желательно Linux + OS X.
Язык реализации - Python, но желательно иметь возможность кроссязыковой блокировки, например PHP + Python.

Гугл рассказал мне о semaphore.h/sem_open.
1. Хороший ли это выбор?
2. Совсем беглый поиск показал мне, что аналогов в языках выше нет. Я ошибаюсь?
3. В php есть sem_get, но первый параметр в ней не строка, а число. Видимо не такие уж они и совместимые.
4. Почему оно такое непопулярное? Постоянно используются костыли, из самого распространенного - lock файлы.
5. Что делать, если нужна будет сетевая работа? Вероятно, есть какой-нибудь сервер с подобным функционалом.
  • Вопрос задан
  • 197 просмотров
Пригласить эксперта
Ответы на вопрос 2
@Xilian
Программист 1С, сетевые технологии, SQL
А зачем семафоры и блокировки вообще на сервере? В питоне вроде все операции потокобезопасны по определению.
Ответ написан
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
Традиционно для процессов в линях юзают пид файлы. Ничего более кроссязыкового пока не придумали вроде. Далее уже приблуды аля мемкеш, редис и иже с ними, которые не всегда искаропки.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы