Блокировка всех потоков другим потоком 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(), но не совсем понял принцип действия данного метода.

Как я могу это реализовать? Заранее спасибо.


Ответы (0 шт):