Я ищу поточно-ориентированную реализацию семафора, которую можно использовать в Python.
Стандартные библиотеки asyncio.Semaphore не являются поточно-ориентированными.
Стандартные библиотеки threading.Semaphore не имеют ожидаемого интерфейса.
Я использую sanic, который имеет несколько потоков (рабочих), но также и асинхронный петля на каждой нити. Я хочу иметь возможность возвращать выполнение циклу событий на каждом из рабочих процессов всякий раз, когда он сталкивается с заблокированным семафором, пока он ожидает.
ОБНОВЛЕНИЕ: я хотел сказать здесь процесс, а не нити. Итак, должно быть так, что Sanic разделяется на процессы и multiprocessing.Semaphore. Я считаю, что данный ответ по-прежнему актуален для того, где я могу применить аналогичное решение.
Подробнее здесь: https://stackoverflow.com/questions/789 ... -semaphore