Cerradura de seguridad de los datos de protección, sino provocar la ejecución de la cerradura parte en serie, reduciendo la eficiencia
- Después de la cerradura libera el bloqueo a ser considerado, no se recomienda
de multiprocesamiento importación Proceso, Bloqueo de importación tiempo def trabajo (bloqueo): mutex.acquire () print ( " destino% s se está ejecutando " % os.getpid) () time.sleep ( 2 ) print ( " destino% s se hace " % os.getpid ()) mutex.release () si __name__ == " __main__ " : mutex = Lock () para i en alcance (3 ): p= Proceso (target = trabajo, args = (mutex,)) #mutex需要传参 p.start () print ( " 主进程" ) ''' target 10879 se está ejecutando 主进程 de destino 10879 se hace diana 10880 se ejecuta destino 10880 se hace diana 10883 se está ejecutando objetivo se hace 10883 '''
# 线程加锁 de enhebrar la importación de rosca, de bloqueo, current_thread importación tiempo def trabajo (): mutex.acquire () print ( " destino% s se está ejecutando " % . Current_thread () getName ()) time.sleep ( 2 ) de impresión ( " destino% s se hace " % current_thread () getName ()). mutex.release () si __name__ == " __main__ " : mutex = Lock () para i ende alcance (3 ): t = Thread (target = trabajo) #mutex不需要传参 t.Start () de impresión ( " 主线程" ) ''' 主线程 objetivo Thread-615 se está ejecutando objetivo Thread-615 se hace subproceso de destino -616 está ejecutando objetivo Rosca-616 se realiza objetivo Rosca-617 está funcionando Tema-617 de destino se hace '''