У меня есть скрипт в python, который использует ресурс, который не может использоваться более чем определенным количеством одновременных запущенных скриптов.Именованные семафоры в Python?
Классически это будет решаться с помощью названных семафоров, но я не могу найти их в документации модуля multiprocessing или threading.
Я что-то пропустил или назван семафорами, не реализованными/выставленными Python? и что еще более важно, если ответ отрицательный, каков наилучший способ его подражания?
Спасибо, Боаз
PS. По причинам, которые не имеют отношения к этому вопросу, я не могу объединить задачу с непрерывно запущенным процессом/демоном или работать с порожденными процессами - обе из них, похоже, работали бы с API-интерфейсом python.
Существует множество способов сделать это неправильно (справедливость, планирование пробуждения, условия гонки). Используйте примитивы ядра или libc (например, настоящий sem_ * API или API CreateSemaphore/event в окнах); не накапливайте свои собственные примитивы синхронизации. –
Вот почему я предлагаю, чтобы вы могли использовать boost, если вам неудобно кататься самостоятельно. –