在python中实现强制关闭线程的示例


Posted in Python onJanuary 22, 2019

如下所示:

import threading
import time
import inspect
import ctypes


def _async_raise(tid, exctype):
  """raises the exception, performs cleanup if needed"""
  tid = ctypes.c_long(tid)
  if not inspect.isclass(exctype):
   exctype = type(exctype)
  res = ctypes.pythonapi.PyThreadState_SetAsyncExc(tid, ctypes.py_object(exctype))
  if res == 0:
   raise ValueError("invalid thread id")
  elif res != 1:
   # """if it returns a number greater than one, you're in trouble, 
   # and you should call it again with exc=NULL to revert the effect""" 
   ctypes.pythonapi.PyThreadState_SetAsyncExc(tid, None)
   raise SystemError("PyThreadState_SetAsyncExc failed")


def stop_thread(thread):
  _async_raise(thread.ident, SystemExit)


class TestThread(threading.Thread):
  def run(self):
   print
   "begin"
   while True:
     time.sleep(0.1)
   print('end')


if __name__ == "__main__":
  t = TestThread()
  t.start()
  time.sleep(1)
  stop_thread(t)
  print('stoped')

以上这篇在python中实现强制关闭线程的示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Pyramid Mako模板引入helper对象的步骤方法
Nov 27 Python
详解Python的Django框架中的通用视图
May 04 Python
Python实现文件复制删除
Apr 19 Python
python中子类继承父类的__init__方法实例
Dec 15 Python
如何实现删除numpy.array中的行或列
May 08 Python
python scp 批量同步文件的实现方法
Jan 03 Python
基于Python打造账号共享浏览器功能
May 30 Python
python调用函数、类和文件操作简单实例总结
Nov 29 Python
python爬虫开发之使用Python爬虫库requests多线程抓取猫眼电影TOP100实例
Mar 10 Python
自定义实现 PyQt5 下拉复选框 ComboCheckBox的完整代码
Mar 30 Python
python常见的占位符总结及用法
Jul 02 Python
python人工智能human learn绘图可创建机器学习模型
Nov 23 Python
Python实现简单石头剪刀布游戏
Jan 20 #Python
python石头剪刀布小游戏(三局两胜制)
Jan 20 #Python
python 对类的成员函数开启线程的方法
Jan 22 #Python
python实现石头剪刀布小游戏
Jan 20 #Python
对Python3之进程池与回调函数的实例详解
Jan 22 #Python
python多任务及返回值的处理方法
Jan 22 #Python
opencv实现静态手势识别 opencv实现剪刀石头布游戏
Jan 22 #Python
You might like
《逃离塔科夫》——“萌新劝退,老手自嗨”的硬核FPS游戏
2020/04/03 其他游戏
php正则
2006/07/07 PHP
PHP 内存缓存加速功能memcached安装与用法
2009/09/03 PHP
在win7中搭建Linux+PHP 开发环境
2014/10/08 PHP
php文件上传的两种实现方法
2016/04/04 PHP
thinkPHP和onethink微信支付插件分享
2019/08/11 PHP
tp5框架使用cookie加密算法实现登录功能示例
2020/02/10 PHP
Jquery+ajax请求data显示在GridView上(asp.net)
2010/08/27 Javascript
用JavaScript获取DOM元素位置和尺寸大小的方法
2013/04/12 Javascript
JavaScript 实现简单的倒计时弹窗DEMO附图
2014/03/05 Javascript
Jquery数字上下滚动动态切换插件
2015/08/08 Javascript
最棒的Angular2表格控件
2016/08/10 Javascript
深入分析javascript中console命令
2016/08/14 Javascript
基于Javascript倒计时效果
2016/12/22 Javascript
原生js实现返回顶部缓冲效果
2017/01/18 Javascript
bootstrapValidator 重新启用提交按钮的方法
2017/02/20 Javascript
js canvas实现放大镜查看图片功能
2017/06/08 Javascript
详解Node.js access_token的获取、存储及更新
2017/06/20 Javascript
JS Thunk 函数的含义和用法实例总结
2020/04/08 Javascript
JavaScript事件循环及宏任务微任务原理解析
2020/09/02 Javascript
python数据结构之图深度优先和广度优先实例详解
2015/07/08 Python
python使用pyqt写带界面工具的示例代码
2017/10/23 Python
详谈Python中列表list,元祖tuple和numpy中的array区别
2018/04/18 Python
详解如何将python3.6软件的py文件打包成exe程序
2018/10/09 Python
pycharm 配置远程解释器的方法
2018/10/28 Python
Python批量修改xml的坐标值全部转为整数的实例代码
2020/11/26 Python
抽象方法、抽象类怎样声明
2014/10/25 面试题
对于没有初始化的变量的初始值可以作怎样的假定
2014/10/12 面试题
什么叫应用程序域?什么是托管代码?什么是强类型系统?什么是装箱和拆箱?什么是重载?CTS、CLS和CLR分别作何解释?
2012/05/23 面试题
会计电算化应届生求职信
2013/11/03 职场文书
法学专业本科生自荐信范文
2013/12/17 职场文书
企业文化标语口号
2014/06/09 职场文书
构建和谐校园倡议书
2015/01/19 职场文书
公司更名通知函
2015/04/24 职场文书
单独二胎证明
2015/06/24 职场文书
用 Python 元类的特性实现 ORM 框架
2021/05/19 Python