Блокировка всех потоков другим потоком python
def func1():
# some action
for c in range(10):
time.sleep(1)
print('func1', c)
print('end func1')
def func2():
# some other action
for i in range(5):
time.sleep(1)
print('func2', i)
print('end func2')
def main():
thread1 = threading.Thread(target=func1)
thread2 = threading.Thread(target=func2)
thread1.start()
# time.sleep(10)
thread2.start()
if __name__ == '__main__':
main()
Требуется приостановить поток thread1 на время выполнения thread2, затем возобновить его в прежнем состоянии. Потоков типа thread1 несколько, нужно приостанавливать их все.
Пробовал threading.Lock(), но не совсем понял принцип действия данного метода.
Как я могу это реализовать? Заранее спасибо.