在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之再深点,更懂list
Sep 20 Python
Python脚本实现网卡流量监控
Feb 14 Python
python2.7的编码问题与解决方法
Oct 04 Python
老生常谈python的私有公有属性(必看篇)
Jun 09 Python
Python解决N阶台阶走法问题的方法分析
Dec 28 Python
python Opencv将图片转为字符画
Feb 19 Python
解决pycharm工程启动卡住没反应的问题
Jan 19 Python
详解python解压压缩包的五种方法
Jul 05 Python
Django项目使用CircleCI的方法示例
Jul 14 Python
Flask使用Pyecharts在单个页面展示多个图表的方法
Aug 05 Python
IDLE下Python文件编辑和运行操作
Apr 25 Python
python多次执行绘制条形图
Apr 20 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
全国FM电台频率大全 - 18 湖南省
2020/03/11 无线电
php 数组的合并、拆分、区别取值函数集
2010/02/15 PHP
php array的学习笔记
2012/05/16 PHP
php mail to 配置详解
2014/01/16 PHP
php解析url的三个示例
2014/01/20 PHP
javascript检查日期格式的函数[比较全]
2008/10/17 Javascript
JS request函数 用来获取url参数
2010/05/17 Javascript
为JS扩展Array.prototype.indexOf引发的问题及解决办法
2015/01/21 Javascript
js实现键盘上下左右键选择文字并显示在文本框的方法
2015/05/07 Javascript
AJAX和jQuery动态加载数据的实现方法
2016/12/05 Javascript
Javascript 对cookie操作详解及实例
2016/12/29 Javascript
JQuery ZTree使用方法详解
2017/01/07 Javascript
node.js利用mongoose获取mongodb数据的格式化问题详解
2017/10/06 Javascript
9种使用Chrome Firefox 自带调试工具调试javascript技巧
2017/12/22 Javascript
JS实现图片切换特效
2019/12/23 Javascript
JavaScript 监听组合按键思路及代码实现
2020/07/28 Javascript
vue 解决uglifyjs-webpack-plugin打包出现报错的问题
2020/08/04 Javascript
python实现比较文件内容异同
2018/06/22 Python
Python Django框架模板渲染功能示例
2019/11/08 Python
关于Pytorch MaxUnpool2d中size操作方式
2020/01/03 Python
TensorFlow通过文件名/文件夹名获取标签,并加入队列的实现
2020/02/17 Python
python opencv实现图片缺陷检测(讲解直方图以及相关系数对比法)
2020/04/07 Python
深入浅析css3 中display box使用方法
2015/11/25 HTML / CSS
CSS3 3D酷炫立方体变换动画的实现
2019/03/26 HTML / CSS
移动端html5模拟长按事件的实现方法
2018/09/30 HTML / CSS
欧洲最大的预定车位市场:JustPark
2020/01/06 全球购物
机电一体化专业应届生求职信
2013/11/27 职场文书
农民工工资发放承诺书
2014/03/31 职场文书
副科级后备干部考察材料
2014/05/15 职场文书
员工升职自荐信
2015/03/27 职场文书
青少年法制教育心得体会
2016/01/14 职场文书
初中历史教学反思
2016/02/19 职场文书
2016年全国爱眼日宣传教育活动总结
2016/04/05 职场文书
mysql数据库入门第一步之创建表
2021/05/14 MySQL
Go语言基础map用法及示例详解
2021/11/17 Golang
Python sklearn分类决策树方法详解
2022/09/23 Python