Tengo un script en python que utiliza un recurso que no puede ser utilizado por más de una cierta cantidad de scripts simultáneos en ejecución.¿Semáforos con nombre en Python?
Clásicamente, esto sería resuelto por un nombre semáforos pero no puedo encontrarlos en la documentación del módulo multiprocessing o .
¿Echo de menos algo o me llamo semáforos no implementados/expuestos por Python? y más importante aún, si la respuesta es no, ¿cuál es la mejor manera de emular uno?
Gracias, Boaz
PS. Por razones que no son tan relevantes a esta pregunta, no puedo agregar la tarea a un proceso/daemon o el trabajo se ejecuta de forma continua con procesos generados - ambos de los cuales, al parecer, habría trabajado con la API de Python.
Hay un montón de maneras de conseguir este mal (la equidad, la programación de activación, las condiciones de carrera). Use primitivas kernel o libc (por ejemplo, la API sem_ * real, o la API CreateSemaphore/event en Windows); evite rodar sus propias primitivas de sincronización. –
Esta es la razón por la que le ofrezco que podría usar el impulso si no se siente cómodo rodando el suyo. –