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!
温馨提示:
关注我不容易让文章走丢哦!