关于python多线程的一些问题。

2025-03-18 07:46:50
推荐回答(1个)
回答1:

  1. 创建的子线程默认是非守护的。

  2. 非守护:当主线程结束时,子线程继续运行,二者互不影响。

  3. 子线程是守护线程:当主线程结束时,子线程也结束(不管子线程工作有没有完成)。

  4. join作用是线程同步,是让主线程等待子线程结束才结束(主线程完成工作了也不结束,阻塞等待,等子线程完成其工作才一起结束)。

相信此时你已经懂你的两个问题了。

  1. 没加join的时候主线程结束了,所以命令提示符>>>就出来了,可是子线程还没结束,过了3/5秒后打印了字符串。加了join后主线程等两个子线程都结束才一起结束,所以最后才出来>>>。

  2. 理解确实有点偏差。守护是指子线程守护着主线程,你死我也死,谓之守护。