First page Back Continue Last page Overview Image

Rlock-Beispiel

Wenn wir

lock = threading.RLock()

mit

lock = threading.Lock()

austauschen, kann die Funktion a() kein Lock mehr anfordern, da die Funktion ab() bereit ein Lock angefordert hat!

import threading

lock = threading.RLock()

def a():

with lock:

print("Executing a")

return "a"

def b():

with lock:

print("Executing b")

return "b"

def ab():

with lock:

first = a()

second =b()

return first, second

print(ab())

Ausgabe:

Executing a

Executing b

('a', 'b')