在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实现电子词典
Apr 23 Python
python实现文件名批量替换和内容替换
Mar 20 Python
python实现简单的TCP代理服务器
Oct 08 Python
python实现删除文件与目录的方法
Nov 10 Python
使用Python的Tornado框架实现一个简单的WebQQ机器人
Apr 24 Python
一个基于flask的web应用诞生(1)
Apr 11 Python
Python django实现简单的邮件系统发送邮件功能
Jul 14 Python
Python 的字典(Dict)是如何存储的
Jul 05 Python
python3 dict ndarray 存成json,并保留原数据精度的实例
Dec 06 Python
Pandas时间序列:重采样及频率转换方式
Dec 26 Python
Pycharm导入anaconda环境的教程图解
Jul 31 Python
Python如何使用ConfigParser读取配置文件
Nov 12 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 session会话的安全性分析
2011/09/08 PHP
php实现自动获取生成文章主题关键词功能的深入分析
2013/06/03 PHP
利用php获取服务器时间的实现代码
2013/06/07 PHP
PHP array_multisort() 函数的深入解析
2013/06/20 PHP
php htmlentities()函数的定义和用法
2016/05/13 PHP
jquery实现键盘左右翻页特效
2015/04/30 Javascript
浏览器复制插件zeroclipboard使用指南
2016/03/26 Javascript
表单元素值获取方式js及java方式的简单实例
2016/10/15 Javascript
基于JS实现的随机数字抽签实例
2016/12/08 Javascript
浅析为什么a="abc" 不等于 a=new String("abc")
2017/10/25 Javascript
Angularjs之如何在跨域请求中传输Cookie的方法
2018/06/01 Javascript
小程序实现授权登陆的解决方案
2018/12/02 Javascript
微信小程序MUI导航栏透明渐变功能示例(通过改变rgba的a值实现)
2019/01/24 Javascript
微信JS-SDK实现微信会员卡功能(给用户微信卡包里发送会员卡)
2019/07/25 Javascript
vue+koa2实现session、token登陆状态验证的示例
2019/08/30 Javascript
JavaScript设计模式--简单工厂模式实例分析【XHR工厂案例】
2020/05/23 Javascript
Python删除指定目录下过期文件的2个脚本分享
2014/04/10 Python
python中defaultdict的用法详解
2017/06/07 Python
Python基于Pymssql模块实现连接SQL Server数据库的方法详解
2017/07/20 Python
tensorflow实现softma识别MNIST
2018/03/12 Python
解决python爬虫中有中文的url问题
2018/05/11 Python
详解python实现识别手写MNIST数字集的程序
2018/08/03 Python
Python3.7实现中控考勤机自动连接
2018/08/28 Python
python实现在函数中修改变量值的方法
2019/07/16 Python
解决Opencv+Python cv2.imshow闪退问题
2020/04/24 Python
在Sublime Editor中配置Python环境的详细教程
2020/05/03 Python
Python grequests模块使用场景及代码实例
2020/08/10 Python
python 实现朴素贝叶斯算法的示例
2020/09/30 Python
使用bandit对目标python代码进行安全函数扫描的案例分析
2021/01/27 Python
纯HTML+CSS3制作导航菜单(附源码)
2013/04/24 HTML / CSS
印度尼西亚综合购物网站:Lazada印尼
2016/09/07 全球购物
小学三八妇女节活动总结
2015/02/06 职场文书
综合测评个人总结
2015/03/03 职场文书
公司表扬信格式
2015/05/04 职场文书
新员工实习期个人工作总结
2015/10/15 职场文书
java实现面板之间切换功能
2022/06/10 Java/Android