在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 相关文章推荐
在Python中使用HTMLParser解析HTML的教程
Apr 29 Python
解决python2.7用pip安装包时出现错误的问题
Jan 23 Python
python3库numpy数组属性的查看方法
Apr 17 Python
python遍历文件夹找出文件夹后缀为py的文件方法
Oct 21 Python
详解python的四种内置数据结构
Mar 19 Python
Python字符串内置函数功能与用法总结
Apr 16 Python
Python Pandas 如何shuffle(打乱)数据
Jul 30 Python
从0到1使用python开发一个半自动答题小程序的实现
May 12 Python
Python实现验证码识别
Jun 15 Python
利用python下载scihub成文献为PDF操作
Jul 09 Python
Python爬虫小例子——爬取51job发布的工作职位
Jul 10 Python
使用Python通过企业微信应用给企业成员发消息
Apr 18 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
PHP+JS无限级可伸缩菜单详解(简单易懂)
2007/01/02 PHP
PHP详细彻底学习Smarty
2008/03/27 PHP
php 数组二分法查找函数代码
2010/02/16 PHP
PHP实现UTF-8文件BOM自动检测与移除实例
2014/11/05 PHP
Web程序工作原理详解
2014/12/25 PHP
php简单socket服务器客户端代码实例
2015/05/18 PHP
简介WordPress中用于获取首页和站点链接的PHP函数
2015/12/17 PHP
ECshop 迁移到 PHP7版本时遇到的兼容性问题
2016/02/15 PHP
JavaScript调用堆栈及setTimeout使用方法深入剖析
2013/02/16 Javascript
js中AppendChild与insertBefore的用法详细解析
2013/12/16 Javascript
Jquery Ajax方法传值到action的方法
2014/05/11 Javascript
JS组件Bootstrap Table表格多行拖拽效果实现代码
2015/12/08 Javascript
禁用backspace网页回退功能的实现代码
2016/11/15 Javascript
移动端界面的适配
2017/01/11 Javascript
详解AngularJS 路由 resolve用法
2017/04/24 Javascript
Vue cli+mui 区域滚动的实例代码
2018/01/25 Javascript
vue-cli3搭建项目的详细步骤
2018/12/05 Javascript
微信小程序基于picker实现级联菜单
2019/02/15 Javascript
vue实现搜索过滤效果
2019/05/28 Javascript
js实现抽奖功能
2020/11/24 Javascript
js实现复制粘贴的两种方法
2020/12/04 Javascript
Python实现定期检查源目录与备份目录的差异并进行备份功能示例
2019/02/27 Python
Dower & Hall官网:英国小众轻奢珠宝品牌
2019/01/31 全球购物
JVM是一个编译程序还是解释程序
2012/09/11 面试题
大学班级文化建设方案
2014/05/06 职场文书
人力资源本科毕业生求职信
2014/06/04 职场文书
党员干部形式主义个人整改措施
2014/09/17 职场文书
私人房屋买卖协议书
2014/10/04 职场文书
财务部会计岗位职责
2015/02/03 职场文书
初中英语教师个人工作总结2015
2015/07/21 职场文书
证婚人婚礼致辞
2015/07/28 职场文书
单位提档介绍信
2015/10/22 职场文书
反腐倡廉心得体会2016
2016/01/13 职场文书
2016年社区创先争优活动总结
2016/04/05 职场文书
坚持不是死撑,更重要的是心态
2019/08/19 职场文书
分享mysql的current_timestamp小坑及解决
2021/11/27 MySQL