La aplicación del bloqueo mutex en Python

El significado de fondo de los mutexes

Sabemos que varios subprocesos en un proceso pueden compartir variables globales, pero a veces esto causará muchos problemas. Es posible que dos o más subprocesos hayan tomado variables globales en un momento determinado, y la ejecución conjunta puede causar problemas. Deje que los datos salgan mal. En este momento, presentamos el concepto de bloqueo de exclusión mutua. Cuando un hilo obtiene los datos, se bloqueará de inmediato. En este momento, otro hilo no podrá operar esta variable global, lo que garantiza la precisión de los datos.
En Python, podemos implementar el código subprocesando este módulo de la siguiente manera:

import threading

#用这个模块下的lock函数
lock = threading.lock()

#上锁代码
lock.acquire()

#释放锁代码
lock.release()

Punto muerto

Cuando un subproceso obtiene la tarea y no puede ejecutar la liberación de bloqueo debido a un error, los subprocesos posteriores han estado esperando la tarea en este momento, lo que provoca un interbloqueo. Podemos poner el código de bloqueo de liberación detrás de algún código que puede estar incorrecto Para resolver el problema del interbloqueo

Supongo que te gusta

Origin blog.csdn.net/weixin_48445640/article/details/108874857
Recomendado
Clasificación