在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构建Hopfield网络的教程
Apr 14 Python
Python3实现从指定路径查找文件的方法
May 22 Python
Python三种遍历文件目录的方法实例代码
Jan 19 Python
Python subprocess模块功能与常见用法实例详解
Jun 28 Python
python中的tcp示例详解
Dec 09 Python
使用python绘制二元函数图像的实例
Feb 12 Python
python基于celery实现异步任务周期任务定时任务
Dec 30 Python
Pytorch 数据加载与数据预处理方式
Dec 31 Python
python软件都是免费的吗
Jun 18 Python
基于logstash实现日志文件同步elasticsearch
Aug 06 Python
Django模板报TemplateDoesNotExist异常(亲测可行)
Dec 18 Python
python 如何在list中找Topk的数值和索引
May 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
盘点被央视点名过的日本动画电影 一部比一部强
2020/03/08 日漫
PHP 文件写入和读取操作实例详解【必看篇】
2019/11/04 PHP
js利用prototype调用Array的slice方法示例
2014/06/09 Javascript
javascript如何创建对象
2016/08/29 Javascript
jquery自定义表单验证插件
2016/10/12 Javascript
JavaScript计时器用法分析【setTimeout和clearTimeout】
2017/01/18 Javascript
js仿新浪微博消息发布功能
2017/02/17 Javascript
vue学习笔记之指令v-text && v-html && v-bind详解
2017/05/12 Javascript
ES6解构赋值的功能与用途实例分析
2017/10/31 Javascript
vue的token刷新处理的方法
2018/07/17 Javascript
JavaScript数据结构与算法之二叉树遍历算法详解【先序、中序、后序】
2019/02/21 Javascript
Javascript三种字符串连接方式及性能比较
2019/05/28 Javascript
原生js实现自定义滚动条
2021/01/20 Javascript
python实现系统状态监测和故障转移实例方法
2013/11/18 Python
Python实现合并字典的方法
2015/07/07 Python
Python 'takes exactly 1 argument (2 given)' Python error
2016/12/13 Python
Python星号*与**用法分析
2018/02/02 Python
python print 按逗号或空格分隔的方法
2018/05/02 Python
python中的tcp示例详解
2018/12/09 Python
python3模拟实现xshell远程执行liunx命令的方法
2019/07/12 Python
浅谈Python2之汉字编码为unicode的问题(即类似\xc3\xa4)
2019/08/12 Python
pytorch 预训练层的使用方法
2019/08/20 Python
PYTHON绘制雷达图代码实例
2019/10/15 Python
Python变量、数据类型、数据类型转换相关函数用法实例详解
2020/01/09 Python
Python @property原理解析和用法实例
2020/02/11 Python
Django Admin后台添加数据库视图过程解析
2020/04/01 Python
儿科护士自我鉴定
2013/10/14 职场文书
应付会计岗位职责
2013/12/12 职场文书
英语教师求职信
2014/06/16 职场文书
教师个人培训总结
2015/02/11 职场文书
旗帜观后感
2015/06/08 职场文书
解约证明模板
2015/06/19 职场文书
学风建设主题班会
2015/08/17 职场文书
2016年幼儿园万圣节活动总结
2016/04/05 职场文书
财务年终工作总结大全
2019/06/20 职场文书
Springboot-cli 开发脚手架,权限认证,附demo演示
2022/04/28 Java/Android