我的程序中有很多线程,如下所示。我想在从一个线程调用一个特定函数时暂停所有线程,然后应该在该函数的函数执行完成后或在1秒的延迟之后恢复。例如,在下面的代码中,我想在执行switch3时暂停线程switch1和switch2,然后在switch2完成执行后或在1秒的时间后恢复这些线程。
有谁能告诉我如何在下面的代码中实现?
def switch1():
if (buttonpressed ==1):
print 1
def switch2():
if (buttonpressed1 ==1):
switch3()
print 1
def switch3():
if (buttonpressed2 ==1):
print 1
def main():
switch1thread=threading.thread(target=switch1)
switch2thread=threading.thread(target=switch2)
switch1thread.start()
switch2thread.start()
答案 0 :(得分:0)
如果没有线程本身的合作,你不能暂停和恢复线程。您要暂停或恢复的线程可以通过检查某些标志来暂停和恢复自身
例如。你可以在执行switch3
之前设置一些标志。如果设置了该标志,switch2
和switch1
将自行暂停。