Python utiliza el acceso bloqueado para compartir el método de análisis de instancias variables
Este artículo estudia principalmente cómo Python usa bloqueos para acceder a variables compartidas. La introducción e implementación específicas son las siguientes.
Al realizar programación multiproceso en Python, si varios subprocesos acceden a una variable al mismo tiempo, los datos de la variable pueden dañarse. El módulo de subprocesos en Python proporciona un objeto de bloqueo y el método de adquisición está bloqueado. se usa para obtener un bloqueo y la liberación se usa para liberar un bloqueo. Cuando un subproceso adquiere el bloqueo, obtiene acceso a la variable compartida y entra en el estado de bloqueo. Si otros subprocesos solicitan acceder a esta variable, deben esperar hasta que este subproceso llame al método de liberación para liberar el bloqueo. El siguiente es un ejemplo del uso de bloqueos en Python:
1
234
5678910111213
#!/usr/bin/env python
importar
threading, tiempo
q
=
threading.Lock()
#crear un objeto de bloqueo
def
mythread():
global
a
q .acquire()
#adquirir el candado
a
=
threading.currentThread().getName()
imprimir
a es modificado por
, a
q.release()
#liberar el bloqueo p>
para
i
en
rango