位置: 编程技术 - 正文
推荐整理分享python 线程的暂停, 恢复, 退出详解及实例(python线程启动和暂停),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:python线程的暂停和继续,python线程threading,python线程的join,python线程的暂停和继续,python线程暂停,python线程threading,python线程threading,python线程threading,内容如对您有帮助,希望把文章链接给更多的朋友!
python 线程 暂停, 恢复, 退出
我们都知道python中可以是threading模块实现多线程, 但是模块并没有提供暂停, 恢复和停止线程的方法, 一旦线程对象调用start方法后, 只能等到对应的方法函数运行完毕. 也就是说一旦start后, 线程就属于失控状态. 不过, 我们可以自己实现这些. 一般的方法就是循环地判断一个标志位, 一旦标志位到达到预定的值, 就退出循环. 这样就能做到退出线程了. 但暂停和恢复线程就有点难了, 我一直也不清除有什么好的方法, 直到我看到threading中Event对象的wait方法的描述时.
利用wait的阻塞机制, 就能够实现暂停和恢复了, 再配合循环判断标识位, 就能实现退出了, 下面是代码示例:
下面是测试代码:
测试的结果:
这完成了暂停, 恢复和停止的功能. 但是这里有一个缺点: 无论是暂停还是停止, 都不是瞬时的, 必须等待run函数内部的运行到达标志位判断时才有效. 也就是说操作会滞后一次.
但是这有时也不一定是坏事. 如果run函数中涉及了文件操作或数据库操作等, 完整地运行一次后再退出, 反而能够执行剩余的资源释放操作的代码(例如各种close). 不会出现程序的文件操作符超出上限, 数据库连接未释放等尴尬的情况.
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
Python 实现一个颜色色值转换的小工具 需求说明公司的UI设计小哥,已经转用Zeplin很久了。Zeplin的设计稿展示页面的颜色色值使用十进制的RGB表示的,在Android中的颜色表示大多情况下都需要
Python应用 使用PyQT制作视频播放器实例 最近研究了Python的两个GUI包,Tkinter和PyQT。这两个GUI包的底层分别是Tcl/Tk和QT。相比之下,我觉得PyQT使用起来更加方便,功能也相对丰富。这一篇用PyQT
详解Python 数据库 (sqlite3)应用 Python自带一个轻量级的关系型数据库SQLite。这一数据库使用SQL语言。SQLite作为后端数据库,可以搭配Python建网站,或者制作有数据存储需求的工具。SQLit
标签: python线程启动和暂停
本文链接地址:https://www.jiuchutong.com/biancheng/382413.html 转载请保留说明!友情链接: 武汉网站建设