仅使用事件即可停止和重新启动线程

sine.threads的Python项目详细描述


示例

fromsine.threadsimport*deffunc(stop_event):while1:ifstop_event.is_set():break# do your workthread=StoppableThread(target=func)thread.start()# ...thread.stop(-1)# stop and join forever# thread.stopped() == Truethread=ReStartableThread(target=func,event_name='stop_event')# can specify the parameter's namethread.start()# ...thread.stop(1)# stop and join for 1 second# ...thread.start()# ...thread.stop()thread.join()# ...

更改日志

V0.1.712019年2月9日

  • 更改为与python3一起运行

V0.1.6,2018年10月7日

  • stop()变为stop(timeout=0),以便连接线程 不管它是否还活着。
  • 如果未指定事件名称,则接收不严格 停止事件,它将被添加到“args” 所以它可以通过*args'或其他参数来接收
  • 添加:螺纹锁紧

V0.1.52018-9-11

  • 修正join()的逻辑,当直接join()时不带start()而带stop()

V0.1.42018-6-7

  • 重新启动线程支持加入旧线程实例
  • 修复:restartablethread.start总是创建新实例
  • 改进注释并更改为英语
  • 更改目录结构并更新setup.py
  • add tests.py

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
jar文件中的java图像   jsf如何使用java从资源文件中读取属性   java如何使用BasicDBObject中的数据检索ArrayList中的数据?   java重叠正则表达式第二部分   java 1.6中未给出阶乘递归异常   转换器Java将十进制转换为任意二进制位   java模拟记录器。使用jmock的getLogger()   java将字符串拆分为几个不同的字符串   java清除二维数组中的所有元素   java Libgdx更改单元格大小,而不必重新调整表的大小   字符串为什么下面的Java语句打印“2+2=22”而不是“2+2=4”   java GZip也来自包含文本数据的文件   java如何在请求时仅读取一次Android传感器数据   在Java中将数组引用分配给另一个数组   java在Spring中,Select:multiple使用什么类型?   java clientserver项目中的网络连接超时错误   java MySQL自动增量跳到最近的51   java Flink作业流在使用Flink联合流进行聚合操作后停止