Red de conocimiento informático - Problemas con los teléfonos móviles - Python utiliza el acceso bloqueado para compartir el método de análisis de instancias variables

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

para

i

en

rango