相关疑难解决方法(0)

在python线程中使用join()有什么用处

我正在研究python线程并遇到过join().

作者告诉我,如果线程处于守护进程模式,那么我需要使用,join()以便线程可以在主线程终止之前完成自己.

但我也看到他使用,t.join()即使t不是daemon

示例代码是这样的

import threading
import time
import logging

logging.basicConfig(level=logging.DEBUG,
                    format='(%(threadName)-10s) %(message)s',
                    )

def daemon():
    logging.debug('Starting')
    time.sleep(2)
    logging.debug('Exiting')

d = threading.Thread(name='daemon', target=daemon)
d.setDaemon(True)

def non_daemon():
    logging.debug('Starting')
    logging.debug('Exiting')

t = threading.Thread(name='non-daemon', target=non_daemon)

d.start()
t.start()

d.join()
t.join()
Run Code Online (Sandbox Code Playgroud)

我不知道什么是使用,t.join()因为它不是守护进程,即使我删除它我也看不到任何变化

python multithreading python-multithreading

167
推荐指数
7
解决办法
19万
查看次数