繁体   English   中英

Python线程:继续一个线程直到另一个线程结束

[英]Python Threading: Continuing a thread until other thread ends

这是我的代码:

import threading
import time


class Threadd(threading.Thread):
    def main(self):

        time.sleep(4)
        print("One")
        self.var = True
        return self.var

def threadmain():
    print("Foo")
    threadobj = Threadd()
    threadd = threading.Thread(target=threadobj.main)
    threadd.start()

    time.sleep(5)
    print("Done")

    mainthread = threading.Thread(target=threadmain)
    mainthread.start()

我需要“主线程”继续运行直到“线程”完成,我该怎么做?

等待子线程退出的方法是让主线程/父线程在子线程上调用join() join()会阻塞直到子线程退出,所以在join()返回后你知道子线程已经消失并且可以安全地继续。 这是一个示例用法:

import threading
import time

class Threadd(threading.Thread):
    def main(self):
        print("Child thread starts running")
        time.sleep(4)
        self.var = True
        print("Child thread is done running")
        return self.var

print("Main thread launching child thread")
threadobj = Threadd()
threadd = threading.Thread(target=threadobj.main)
threadd.start()

print("Main thread waiting for child thread to exit...")
threadd.join()
print("Child thread exited, so we can exit too -- bye!")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM