python多线程—终止子线程

总体思路

1、获取需要终止的子线程id
2、根据子线程id,终止子线程。

过程

  • 获取子线程id:
import threading
Thread_id = threading.get_ident()  # 获取子线程的id值
  • 线程终止函数
def async_raise(Thread_id, exctype):"""raises the exception, performs cleanup if needed"""tid = ctypes.c_long(Thread_id)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_func():async_raise(tid, SystemExit)

转自:https://blog.51cto.com/u_14224/6457768

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/13411.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【数据结构】【王道408】——PPT截图与思维导图

自用视频PPT截图 视频网址王道B站链接 23考研 408新增考点: 并查集,红黑树 2023年408真题数据结构篇 408考纲解读 考纲变化 目录 第一章 绪论第二章 线性表顺序表单链表双链表循环链表静态链表差别 第三章 栈 队列 数组栈队列栈的应用数组 第四章 串第五…

软考A计划-系统集成项目管理工程师-项目质量管理-中

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例点击跳转>软考全系列 👉关于作者 专注于Android/Unity和各种游戏开发技巧&#xff…

【单链表OJ题:删除链表中等于给定值 val 的所有节点】

1.删除链表中等于给定值 val 的所有节点 题目来源 给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val val 的节点,并返回 新的头节点 。 /*** Definition for singly-linked list.* struct ListNode {* int val;* s…

小程序UV:衡量用户规模与活跃度的重要指标

什么是UV UV是Unique Visitor(独立访客)的缩写,指的是在特定时间段内访问某个网站、应用或平台的独立用户数量。UV是根据设备、IP地址、Cookie等来识别不同的用户,对于相同的用户多次访问,只计算为一个UV。UV是衡量网…

c#栈应用之实现四则运算

前言:四则运算,大家都不陌生,在上小学的时候,数学中学到过的知识,那么如何在程序中实现呢?下面,我们就用程序来实现9(3-2)*(5-3)/4*3,这个算式的值。计算的时候,有一个规…

流数据湖平台Apache Paimon(一)概述

文章目录 第1章 概述1.1 简介1.2 核心特性1.3 基本概念1.3.1 Snapshot1.3.2 Partition1.3.3 Bucket1.3.4 Consistency Guarantees一致性保证 1.4 文件布局1.4.1 Snapshot Files1.4.2 Manifest Files1.4.3 Data Files1.4.4 LSM Trees 第1章 概述 1.1 简介 Flink 社区希望能够将…

RocketMQ重复消费的解决方案::分布式锁直击面试!

文章目录 场景分析方法的幂等分布式锁Redis实现分布式锁抢锁的设计思路 分布式锁案例 直击面试rocketmq什么时候重复消费消息丢失的问题消息在哪里丢失发送端确保发送成功并且配合失败的业务处理消费端确保消息不丢失rocketmq 主从同步刷盘 场景分析 分布式系统架构中,队列是分…

css实现有缺口的border

css实现有缺口的border 1.问题回溯2.css实现有缺口的border 1.问题回溯 通常会有那种两个div都有border重叠在一起就会有种加粗的效果。 div1,div2,div3都有个1px的border,箭头标记的地方是没有处理解决的,很明显看着是有加粗效果的。其实这种感觉把di…

【Java从入门到大牛】集合进阶上篇

🔥 本文由 程序喵正在路上 原创,CSDN首发! 💖 系列专栏:Java从入门到大牛 🌠 首发时间:2023年7月29日 🦋 欢迎关注🖱点赞👍收藏🌟留言&#x1f43…

IntelliJ IDEA流行的构建工具——Gradle

IntelliJ IDEA,是java编程语言开发的集成环境。IntelliJ在业界被公认为最好的java开发工具,尤其在智能代码助手、代码自动提示、重构、JavaEE支持、各类版本工具(git、svn等)、JUnit、CVS整合、代码分析、 创新的GUI设计等方面的功能可以说是超常的。 如…

基于java SpringBoot和HTML的博客系统

随着网络技术渗透到社会生活的各个方面,传统的交流方式也面临着变化。互联网是一个非常重要的方向。基于Web技术的网络考试系统可以在全球范围内使用互联网,可以在本地或异地进行通信,大大提高了通信和交换的灵活性。在当今高速发展的互联网时…

如何使用Python进行数据挖掘?

使用Python进行数据挖掘需要掌握以下几个关键步骤: 数据收集:首先,你需要获取你要进行数据挖掘的数据。可以从公共数据集、API、数据库等各种来源收集数据。 数据清洗:清洗数据是一个重要的步骤,它包括去除重复数据、…

【达哥讲网络】第3集:数据交换的垫基石——二层交换原理

专业的网络工程师在进行网络设计时,会事先规划好不同业务数据的转发路径,一方面是为了满足用户应用需求,另一方面是为了提高数据转发效率、充分利用各设备/各链路的硬件或带宽资源。在进行网络故障排除时,理顺各路数据的转发路径也…

K8s:K8s 20个常用命令汇总

写在前面 博文内容为节译整理,用于温习理解不足小伙伴帮忙指正 对每个人而言,真正的职责只有一个:找到自我。然后在心中坚守其一生,全心全意,永不停息。所有其它的路都是不完整的,是人的逃避方式&#xff0…

【Oracle】session_cached_cursors和open_cursors的调整

在进行数据迁移,数据导入慢,经查询可能为session_cached_cursors和open_cursors配置异常导致,遂调整参数值 查看参数 -查看session_cached_cursors SQL> show parameter session_cached_cursors;查看使用情况 SELECT session_cached_c…

【Luogu】 P5176 公约数

题目链接 点击打开链接 题目解法 首先证明一个结论: ( i j , i k , j k ) ( i , j ) ( i , k ) ( j , k ) ( i , j , k ) (ij,ik,jk)\frac{(i,j)(i,k)(j,k)}{(i,j,k)} (ij,ik,jk)(i,j,k)(i,j)(i,k)(j,k)​ 考虑对于 i , j , k i,j,k i,j,k 的质因子 p p p 的次…

Android在子线程中对UI进行操作——AsyncTask

以下内容摘自郭霖《第一行代码》第三版 使用AsyncTask AsyncTask是一个抽象类,所以如果我们想使用它,就必须创建一个子类去继承它。在继承时我们可以为AsyncTask类指定3个泛型参数: Params。在执行AsyncTask时需要传入的参数,可…

精细呵护:如何维护自己的电脑,提升性能和寿命

导语: 在当今数字化时代,电脑已经成为我们日常生活和工作的必需品。然而,就像任何其他设备一样,电脑需要得到适当的维护和保养,以保持良好的性能和延长使用寿命。在本文中,我们将分享一些简单而有效的方法&…

AI For Engineers 线上参会指南

AI For Engineers 线上参会指南 欢迎您报名参加 AI For Engineers:工程师 AI 全球会议,为了让各位参会者参会体验更佳,更好地利用本次会议收获更多。Altair 特别为各位准备了线上参会指南,一起来看看吧~ 会议时间:20…

掌握Python的X篇_12_如何使用VS Code调试Python程序

本篇将会介绍如何使用VS Code调试Python程序。 文章目录 1. 什么是调试2. 断点3. 如何启动调试4. 监视窗口5. 单步 1. 什么是调试 我们可以利用VS Code对Python代码进行调试。所谓调试,大家可以理解成有能力将程序进行 “慢动作播放”让我们有机会看到程序一步一步…