Estoy empezando con varios hilos en python (o al menos es posible que mi script cree varios hilos). ¿Sería este algoritmo el uso correcto de un Mutex? Todavía no he probado este código y probablemente ni siquiera funcionará. Solo quiero que processData se ejecute en un hilo (uno a la vez) y el ciclo while principal para seguir ejecutándose, incluso si hay un hilo en la cola.Uso adecuado de mutexes en Python
from threading import Thread
from win32event import CreateMutex
mutex = CreateMutex(None, False, "My Crazy Mutex")
while(1)
t = Thread(target=self.processData, args=(some_data,))
t.start()
mutex.lock()
def processData(self, data)
while(1)
if mutex.test() == False:
do some stuff
break
Editar: volver a leer mi código Puedo ver que está muy mal. pero oye, es por eso que estoy aquí pidiendo ayuda.
Es muy difícil de averiguar lo que está intentando hacer. Tendrá que explicar su intención con más detalle. –
@Marcelo Cantos, lo siento, probablemente tengas razón. Quiero que mi código en processData comience en una nueva banda de rodadura. Solo quiero que un hilo pueda procesar datos a la vez y en orden de qué datos se enviaron para procesar los datos. También quiero que el ciclo while principal mantenga el bucle mientras que otros hilos están en cola. – Richard
@Richard: ¿Por qué desea utilizar subprocesos si planea serializar todos los procesos de todos modos? ¿Qué pasa con un simple bucle? Además, ¿por qué quieres que el hilo principal se mantenga en bucle? Simplemente quemará la CPU, posiblemente muriendo de hambre a otros hilos. –