在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中使用语句导入模块或包的机制研究
Mar 30 Python
Flask的图形化管理界面搭建框架Flask-Admin的使用教程
Jun 13 Python
python3.5实现socket通讯示例(TCP)
Feb 07 Python
Python表示矩阵的方法分析
May 26 Python
使用Python来开发微信功能
Jun 13 Python
PyQt5 加载图片和文本文件的实例
Jun 14 Python
python已协程方式处理任务实现过程
Dec 27 Python
pytorch构建多模型实例
Jan 15 Python
Python super()函数使用及多重继承
May 06 Python
python爬虫快速响应服务器的做法
Nov 24 Python
python爬虫泛滥的解决方法详解
Nov 25 Python
python实现图片九宫格分割的示例
Apr 25 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
ftp类(myftp.php)
2006/10/09 PHP
PHP实现事件机制的方法
2015/07/10 PHP
PHP实现的简单排列组合算法应用示例
2017/06/20 PHP
html读出文本文件内容
2007/01/22 Javascript
jQuery 常见开发使用技巧总结
2009/12/26 Javascript
JQuery中SetTimeOut传参问题探讨
2013/05/10 Javascript
javascript禁用键盘功能键让右击及其他键无效
2013/10/09 Javascript
innerHTML,outerHTML,innerText,outerText的用法及区别解析
2013/12/16 Javascript
JavaScript将页面表格导出为Excel的具体实现
2013/12/27 Javascript
如何让浏览器支持jquery ajax load 前进、后退功能
2014/06/12 Javascript
jQuery使用fadein方法实现渐出效果实例
2015/03/27 Javascript
JS动态修改图片的URL(src)的方法
2015/04/01 Javascript
JS 通过系统时间限定动态添加 select option的实例代码
2016/06/09 Javascript
js中判断变量类型函数typeof的用法总结
2016/08/09 Javascript
javascript常用经典算法详解
2017/01/11 Javascript
jQuery实现拖拽可编辑模块功能代码
2017/01/12 Javascript
angularjs实现多张图片上传并预览功能
2017/02/24 Javascript
通过npm引用的vue组件使用详解
2017/03/02 Javascript
完美实现js焦点轮播效果(二)(图片可滚动)
2017/03/07 Javascript
Angular4学习笔记之新建项目的方法
2017/07/18 Javascript
JS表单传值和URL编码转换
2018/03/03 Javascript
JavaScript实现单图片上传并预览功能
2019/09/30 Javascript
jQuery实现手风琴效果(蒙版)
2020/01/11 jQuery
[56:20]LGD vs VP Supermajor 败者组决赛 BO3 第三场 6.10
2018/07/04 DOTA
Python实现提取文章摘要的方法
2015/04/21 Python
Python实例一个类背后发生了什么
2016/02/09 Python
python编写微信远程控制电脑的程序
2018/01/05 Python
详解利用django中间件django.middleware.csrf.CsrfViewMiddleware防止csrf攻击
2018/10/09 Python
python实现控制COM口的示例
2019/07/03 Python
如何利用python给图片添加半透明水印
2019/09/06 Python
python可视化text()函数使用详解
2020/02/11 Python
英国最大的正宗复古足球衫制造商和零售商:TOFFS
2018/06/21 全球购物
弘扬民族精神演讲稿
2014/05/07 职场文书
广告设计专业毕业生自我鉴定
2014/09/27 职场文书
中考百日冲刺决心书
2015/09/22 职场文书
一条 SQL 语句执行过程
2022/03/17 MySQL