python中的可杀死线程!

kthread的Python项目详细描述


Build Status

k线程

python中的可杀死线程!

目的

内置的threading.Thread类不提供终止正在运行的线程的简单解决方案。kthread.KThread继承threading.Thread,并提供名为exit()kill()terminate()的方法,这些方法具有相同的用途:如果线程正在运行,则尝试停止线程。

工作原理

kthread利用cpython api在给定线程上引发SystemExit异常。假设线程未被操作系统调用(例如sleepacceptrecv)阻止,则线程将强制退出。

免责声明

终止线程可能会在程序中引入不稳定或其他不希望的效果。这个软件绝对没有保修。对于您或您的组织在使用本软件时发生的任何损害、损失或费用,Munshi Group概不负责。

安装

要安装此软件包,请运行以下命令:

$ pip install kthread

用法

>>> import time
>>> import kthread
>>> import sys
>>> def func():
>>>     try:
>>>         while True:
>>>             time.sleep(0.2)
>>>     finally:
>>>         sys.stdout.write("Greetings from Vice City!\n")
>>>         sys.stdout.flush()
>>>
>>> t = kthread.KThread(target = func, name = "KillableThread1")
>>> t.start()
>>> t.isAlive()
True
>>> t.terminate()
Greetings from Vice City!
>>> t.isAlive()
False

许可证

麻省理工学院

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

推荐PyPI第三方库


热门话题
java什么是RuleContext类实现中的invokingState?   如何将Scala Seq传递给Java varargs   ELK在ubuntu上升级到最新版本后仍提示升级java版本   java如何实现服务器关闭   类型为java的0上的安卓。无法将lang.String转换为JSONArray   java如何在通过Selenium登录时避免验证代码?   java同时下载文件并上传到别处(转发文件)   java jodatime 1.6.2 jar未从maven central repository下载   java OpenGL ES 2.0屏幕滚动:translate vs.setLookatM   安卓 Java如何在另一个类中使用活动方法   java CSVFormat。RFC4180忽略中引用的值。csv文件   从电话号码中分离数字的java   java找不到net。来源:福格。jtds。jdbc。Tomcat web应用程序中的驱动程序   java Red5无法解析bean引用   java忽略日志配置