python threading中的setDaemon, join

在主线程中创建一个子线程:

 

t = threading.Thread()

t.start()

t.join()

那创建的这个子线程start之后,主线程会停在那里等这个子线程运行完成,这个子线程运行完成后,主线程才会继续执行t.start()之后的主线程代码。

注意:join要在start之后

 

t = threading.Thread()

t.setDaemon(True)

t.start()

那创建 的这个子线程start之后,主线程会继续往下执行,主线程执行完之后,整个程序都退出,子线程不管是否执行完都会被强制中止。

 

t = threading.Thread()

t.setDaemon(False)

t.start()

那创建的这个子线程start之后,主线程会继续往下执行,主线程执行完之后,整个程序不会退出,一直等待所有子线程执行完之后,整个程序才会退出。

 

t = threading.Thread()

t.start()

同上面t.setDaemon(False)。即子线程创建后,默认setDaemon是False。

posted @ 2022-06-02 14:22  djjnet  阅读(146)  评论(0)    收藏  举报