-LOCK bloqueo de rosca

enhebrar hilo de importación, Bloqueo de 
tiempo de importación
a = 10
b = 10
de bloqueo = bloqueo ()
def diversión ():
# lock.acquire ()
global de un
b mundial
a + 1 =
time.sleep (1)
b + 1 =
# lock.release ()
print ( "- un {} - {b} ->" formato (a, b).)

si __name __ == "__ main__":
Start = time.time ()
l = []
for i in range ( 10):
t = Thread (target = diversión)
l.append (t)
t.Start ()
para i en l:
i.join ()
final = time.time ()
print ( "extremo ------- -" end-iniciar, a, b)

-A20 - B11 -> - A20 - B12 ->
-A20 - B13 ->

-A20 - B14 -> - A20 - B15 ->

-A20 - B16 ->
-A20 - B17 ->
-A20 - B18 ->
-A20 - B19 ->
-A20 - B20 ->
final -------- 1.003110408782959 20 20

Dado que los datos se comparte entre los hilos, varios subprocesos cooperación de un objeto podría causar resultados inesperados.

Si lock.acquire (), lock.release () sin comentar

Los resultados son como sigue

A11 - B11 -> 
A12 - B12 -> 
A13 - B13 -> 
-A14 - B14 -> 
-A15 - B15 -> 
-A16 - B16 -> 
-a17 --b17 -> 
-a18 - B18 -> 
-a19 - B19 -> 
-A20 - B20 -> 
final -------- 10,004825592041016  20  20

Los resultados, como se esperaba, pero por el momento los 1s 10s se convierte

Supongo que te gusta

Origin www.cnblogs.com/pfeiliu/p/12543644.html
Recomendado
Clasificación