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