Pregunta

¿Las cerraduras del módulo threading intercambiables con los del módulo de multiprocessing?

¿Fue útil?

Solución

Puede utilizar normalmente los dos indistintamente, pero hay que consciente de las diferencias. Por ejemplo, multiprocessing.Event está respaldado por un semáforo llamado, que es sensible a la plataforma bajo la aplicación.

Multiprocessing.Lock está respaldado por Multiprocessing.SemLock - por lo que necesita semáforos con nombre. En esencia, se puede utilizar de forma indistinta, pero el uso de bloqueos de multiprocesamiento introduce algunos requisitos de la plataforma de la aplicación (es decir, que no se ejecuta en BSD :))

Otros consejos

Yo no lo creo. cerraduras de roscado se encuentran dentro del mismo proceso, mientras que el bloqueo de multiprocesamiento es probable que sea en la memoria compartida.

La última vez que lo comprobé, multiprocesamiento no le permiten compartir la cerradura de una cola, que es un bloqueo roscado.

Sí, puede utilizar las cerraduras desde el módulo de multiprocesamiento de forma normal en la aplicación de un proceso, pero si usted está utilizando el multiprocesamiento, debe utilizar sus cerraduras.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top