在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实现的检测web服务器健康状况的小程序
Sep 17 Python
Python 3.x 新特性及10大变化
Jun 12 Python
Python3.4编程实现简单抓取爬虫功能示例
Sep 14 Python
使用Flask集成bootstrap的方法
Jul 24 Python
python 使用sys.stdin和fileinput读入标准输入的方法
Oct 17 Python
python爬取基于m3u8协议的ts文件并合并
Apr 26 Python
python字符串和常用数据结构知识总结
May 21 Python
用scikit-learn和pandas学习线性回归的方法
Jun 21 Python
python使用requests.session模拟登录
Aug 09 Python
使用pygame写一个古诗词填空通关游戏
Dec 03 Python
django的403/404/500错误自定义页面的配置方式
May 21 Python
Python os和os.path模块详情
Apr 02 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截取utf-8中文字符串乱码的解决方法
2010/03/29 PHP
php支付宝接口用法分析
2015/01/04 PHP
PHP保存带BOM文件的方法
2015/02/12 PHP
php自动识别文字编码并转换为目标编码的方法
2015/08/08 PHP
详解PHP实现执行定时任务
2015/12/21 PHP
PHP CodeIgniter分页实例及多条件查询解决方案(推荐)
2017/05/20 PHP
javascript 鼠标悬浮图片显示原图 移出鼠标后原图消失(多图)
2009/12/28 Javascript
下载文件个别浏览器文件名乱码解决办法
2013/03/19 Javascript
js的Boolean对象初始值示例
2014/03/04 Javascript
jQuery中用dom操作替代正则表达式
2014/12/29 Javascript
jQuery的几个我们必须了解的特点
2015/05/03 Javascript
Express的路由详解
2015/12/10 Javascript
实例解析angularjs的filter过滤器
2016/12/14 Javascript
微信小程序canvas实现刮刮乐效果
2018/07/09 Javascript
bootstrap datepicker的基本使用教程
2019/07/09 Javascript
layui时间控件选择时间范围的实现方法
2019/09/28 Javascript
laravel实现中文和英语互相切换的例子
2019/09/30 Javascript
在Express中提供静态文件的实现方法
2019/10/17 Javascript
Servlet返回的数据js解析2种方法
2019/12/12 Javascript
使用vue实现通过变量动态拼接url
2020/07/22 Javascript
微信小程序实现单个或多个倒计时功能
2020/11/01 Javascript
浅析VUE防抖与节流
2020/11/24 Vue.js
web.py在模板中输出美元符号的方法
2014/08/26 Python
Python中的自定义函数学习笔记
2014/09/23 Python
Django 添加静态文件的两种实现方法(必看篇)
2017/07/14 Python
Python实现的读取电脑硬件信息功能示例
2018/05/30 Python
Tensorflow中的dropout的使用方法
2020/03/13 Python
matplotlib绘制鼠标的十字光标的实现(内置方式)
2021/01/06 Python
CSS3 实用技巧:实现黑白图像效果示例代码
2013/07/11 HTML / CSS
手把手教你实现一个canvas智绘画板的方法
2019/03/04 HTML / CSS
服装创业计划书范文
2014/02/05 职场文书
2014年维修工作总结
2014/11/22 职场文书
2015年扶贫帮困工作总结
2015/05/20 职场文书
住房公积金贷款工资证明
2015/06/12 职场文书
30岁前绝不能错过的10本书
2019/08/08 职场文书
使用Mysql计算地址的经纬度距离和实时位置信息
2022/04/29 MySQL