有没有人知道获取锁定的方法,这样不仅可以锁定被调用函数,还可以锁定其他函数。
让我说我有一堆函数(a(),b(),c())当我调用函数a()时我也想函数b()& c()被锁定。
import threading
from time import sleep
def a():
for i in range(5):
print(i)
sleep(1)
def b():
for i in range(5):
print(i)
sleep(1)
def c():
for i in range(5):
print(i)
sleep(1)
thread_a=threading.Thread(target=a)
thread_a.start()
thread_b=threading.Thread(target=b)
thread_b.start()
thread_c=threading.Thread(target=c)
thread_c.start()
如果我想让上面的代码给出输出,我将如何使用锁:
0
1
2
3
4
0
1
2
3
4
0
1
2
3
4
任何帮助表示赞赏, 格尔茨
答案 0 :(得分:0)
您必须以某种方式使用您的函数之间共享的相同Lock
实例。
lock = threading.Lock()
def a():
with lock:
for i in range(5):
print(i)
sleep(1)
为每个功能执行此操作,它将输出您想要的内容。