python thread在主线程结束的时候结束子线程


一、 子线程启动

1、简单启动

def test():
   # 需要执行的函数
p = Thread(target=test,daemon=True) 
p.start() 

python对于线程的启动很方便,上面就是一个很简单的例子

2、一些常用功能

p.join() # 让主线程等待子线程完成,等到子线程完成后再回到主线程
p.join(1.0) # 等待子线程1S后,回到主线程的执行

其他一些线程的高级用法网上教程一大堆,抄过来也没啥意思,这篇文章我重点是想分享在主线程结束的时候结束子线程

二、文章重点:在主线程结束的时候结束子线程

之前写了一个小脚本,点击按钮启动线程,然后另一个按钮结束全部脚本,但是我发现,子线程是一个很长时间的循环,在我想要结束主线程的时候因为子线程还没有结束,主线程也结束不了,所以找了很多想要结束子线程的方法,发现网上教的很复杂。我着急想实现功能,而对于一个自学没基础的孩子来说需要太多时间了,没办法只能粗暴一点——直接结束主线程同时结束子线程,找了很多文章之后终于找到解决办法:就是在启动线程的时候添加一个daemon的参数,如下

p = Thread(target=autoclick,daemon=True)  # daemon 表示 主线程不需要等待子线程结束才能结束,如果daemon等于flase(默认),那么结束主进程会去等子进程结束


这样操作后,结束主线程会直接将子线程也结束了,nice!

温馨提示: 关注我不容易让文章走丢哦!

其他python相关问题解决和应用实例参见专栏——https://blog.csdn.net/weixin_45386875/category_10165306.html

猜你喜欢

转载自blog.csdn.net/weixin_45386875/article/details/121909956