【问题标题】:Threading - Main thread running permanently and other threads are dependent on another线程 - 主线程永久运行,其他线程依赖于另一个
【发布时间】:2022-06-15 00:23:30
【问题描述】:

我对 python 和线程很陌生。我的目标是拥有一个永久运行的主线程和依赖于另一个的其他线程。我用.join() 尝试了不同的东西,但我无法得到答案。

这是我想到的一张图片: Thread Imagination

我是否需要守护进程之类的东西,或者我可以通过简单的.join() 来解决这个问题吗?

【问题讨论】:

    标签: python-3.x multithreading python-multithreading


    【解决方案1】:

    试试这个结构:

    from threading import Thread
    from time import sleep
    
    def do_work_1():
        print("Thread 1 starting")
        sleep(1)
        print("Thread 1 done")
    
    def do_work_2(parent_thread):
        print("Thread 2 wait thread 1 to finish")
        parent_thread.join()
        print("Thread 2 starting")
        sleep(1)
        print("Thread 2 done")
    
    def do_work_3(parent_thread):
        print("Thread 3 wait thread 2 to finish")
        parent_thread.join()
        print("Thread 3 starting")
        sleep(1)
        print("Thread 3 done")
    
    thread1 = Thread(target=do_work_1)
    thread2 = Thread(target=do_work_2, args=(thread1,)) # Do not miss the comma!
    thread3 = Thread(target=do_work_3, args=(thread2,))
    
    thread1.start()
    thread2.start()
    thread3.start()
    
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-22
      • 1970-01-01
      • 2022-06-11
      • 1970-01-01
      相关资源
      最近更新 更多