在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 相关文章推荐
打开电脑上的QQ的python代码
Feb 10 Python
Python中表达式x += y和x = x+y 的区别详解
Jun 20 Python
Python编程实现两个文件夹里文件的对比功能示例【包含内容的对比】
Jun 20 Python
安装python时MySQLdb报错的问题描述及解决方法
Mar 20 Python
关于Python正则表达式 findall函数问题详解
Mar 22 Python
Python 内置函数进制转换的用法(十进制转二进制、八进制、十六进制)
Apr 30 Python
Python爬虫设置代理IP(图文)
Dec 23 Python
对python特殊函数 __call__()的使用详解
Jul 02 Python
Python实现检测文件的MD5值来查找重复文件案例
Mar 12 Python
Python使用Paramiko控制liunx第三方库
May 20 Python
解决django migrate报错ORA-02000: missing ALWAYS keyword
Jul 02 Python
pytorch DataLoader的num_workers参数与设置大小详解
May 28 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
教你如何在CI框架中使用 .htaccess 隐藏url中index.php
2014/06/09 PHP
Yii框架Session与Cookie使用方法示例
2019/10/14 PHP
jquery实现的图片点击滚动效果
2014/04/29 Javascript
jQuery的缓存机制浅析
2014/06/07 Javascript
node.js中的http.response.end方法使用说明
2014/12/14 Javascript
深入理解JavaScript系列(29):设计模式之装饰者模式详解
2015/03/03 Javascript
jQuery使用after()方法在元素后面添加多项内容的方法
2015/03/26 Javascript
javascript中日期函数new Date()的浏览器兼容性问题
2015/09/05 Javascript
JavaScript对象数组如何按指定属性和排序方向进行排序
2016/06/15 Javascript
jQuery实现带遮罩层效果的blockUI弹出层示例【附demo源码下载】
2016/09/14 Javascript
Bootstrap入门教程一Hello Bootstrap初识
2017/03/02 Javascript
jQuery插件FusionCharts实现的3D帕累托图效果示例【附demo源码】
2017/03/25 jQuery
js实现一个猜数字游戏
2017/03/31 Javascript
不得不看之JavaScript构造函数及new运算符
2017/08/21 Javascript
解决ele ui 表格表头太长问题的实现
2019/11/13 Javascript
vue项目中js-cookie的使用存储token操作
2020/11/13 Javascript
[03:55]TI9战队采访——TNC Predator
2019/08/22 DOTA
[42:06]2019国际邀请赛全明星赛 8.23
2019/09/05 DOTA
Python简单连接MongoDB数据库的方法
2016/03/15 Python
Python 序列的方法总结
2016/10/18 Python
Python3爬虫爬取百姓网列表并保存为json功能示例【基于request、lxml和json模块】
2018/12/05 Python
python 为什么说eval要慎用
2019/03/26 Python
pytorch forward两个参数实例
2020/01/17 Python
Python流程控制常用工具详解
2020/02/24 Python
Python Selenium截图功能实现代码
2020/04/26 Python
python全栈开发语法总结
2020/11/22 Python
python 实时调取摄像头的示例代码
2020/11/25 Python
python的setattr函数实例用法
2020/12/16 Python
HTML5实现视频直播功能思路详解
2017/11/16 HTML / CSS
JAVA代码查错题
2014/10/10 面试题
"序列点" 是什么
2016/07/29 面试题
毕业生个人求职信范例分享
2013/12/17 职场文书
优秀管理者获奖感言
2014/02/17 职场文书
环保倡议书400字
2014/05/15 职场文书
纪念一二九运动演讲稿
2014/09/16 职场文书
倡议书怎么写?
2019/04/11 职场文书