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中未按预期工作   JavaSpringWebClient:自动计算主体的HMAC签名并将其作为头传递   foreach是否有一个Java等效的foreach循环和一个引用变量?   java如何在Eclipse中导入jar   使用特定第三方或java时lombok触发错误。*方法或构造函数   安卓 java将对象数组转换为int数组   java使一定百分比的JUnit测试通过   java Android:将Seekbar的一个值与另一个值进行比较   java将int数组(图像数据)写入文件的最佳方式是什么   java取代了系统。yml的构造函数内的getProperty   sqlite Java将公钥和私钥转换为字符串,然后再转换回字符串   安卓获取白色像素并将其保存到java opencv中的数组中   java为什么是ServerSocket。setSocketFactory静态?   Java数组似乎在不直接修改的情况下更改值