Timer 一般会设置一个间隔时间,然后才开一个子线程执行需要执行的函数。
cancel() 函数只能取消还未开始执行的 Timer,也就是取消该 Timer。如果 Timer 已经开启子线程执行函数了,用 cancel() 函数 是不能停止子线程执行的,子线程会一直执行,直到结束。
cancel():# stop the timer’s action if it’s still waiting

使用下面这个函数强制停止子线程:

import ctypes
import datetime
import inspectdef stop_thread(thread):tid = thread.identexctype = SystemExit"""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")

待解决问题:虽然强制停止了,但是 print(str(threading.enumerate())) 仍能看到刚刚强制停止的子线程,这是为什么呢?

Python 强制停止子线程相关推荐

  1. python如何停止子线程_【已解决】python 如何结束子线程呢

    复制内容到剪贴板 代码:# -*- coding:utf-8 -*- import wx import os import sys import configparser import ftpserv ...

  2. C语言:记录在主线程中停止子线程

    主线程中创建一个子线程如代码: #include <stdio.h> #include <pthread.h> #include <unistd.h> #inclu ...

  3. python 主程序等待 子线程_Python多线程中主线程等待所有子线程结束的方法

    Python多线程中主线程等待所有子线程结束的方法 发布时间:2020-07-30 14:39:04 来源:亿速云 阅读:77 作者:小猪 这篇文章主要讲解了Python多线程中主线程等待所有子线程结 ...

  4. python强制停止循环mac_Mac强制关闭软件的六种方法

    我们在使用Mac的时候,Mac OS系统虽然非常稳定,但有时候也会受到不良APP影响,或者软件与系统不兼容等等,难免会遇到软件无响应的状况.这个时候我们就需要强制退出这个程序了,那么苹果电脑怎么强制关 ...

  5. python 子线程 和 子进程 正常结束与强制结束

    目录 子线程结束 ----给子线程设置标志位 ----设置子线程为守护线程 ----强制终止 子进程强制结束 ----设置标志位 ----强制结束 子线程结束 想要的目的是, 主线程能够让子线程结束 ...

  6. python 强制结束线程_在python中实现强制关闭线程的示例

    Python 如何强制关闭线程过去只可以用来回忆,别沉迷在阴影中,否则永远看不清前面的路. Python用sleep停止一个线程的运行,而不影响主线程的运行,案例代码如下: from threadin ...

  7. python主线程_Python主线程和子线程

    Python主线程和子线程 一.setDaemon(False) 当一个进程启动之后,会默认产生一个主线程,因为线程是程序执行的最小单位,当设置多线程时,主线程会创建多个子线程,在Python中,默认 ...

  8. 如何手动结束Python的子线程和子进程

    如何结束子线程: 这个是搬运其他大神的代码,鄙人也不知道原理,反正拿来主义,暂时没发现什么缺点,先用着再说. import inspect import ctypes import threading ...

  9. python创建多线程_Python 多线程,threading模块,创建子线程的两种方式示例

    本文实例讲述了Python 多线程,threading模块,创建子线程的两种方式.分享给大家供大家参考,具体如下: GIL(全局解释器锁)是C语言版本的Python解释器中专有的,GIL的存在让多线程 ...

最新文章

  1. LAPJV算法学习笔记
  2. python读取txt文件写入-python 读取、写入txt文件的示例
  3. CTFshow 信息收集 web11
  4. boost::system::error_code相关的测试程序
  5. java创建数组大小为n_如何通过提供大小在Kotlin中创建一个像Java一样的数组?
  6. Windows下安装和配置tomca(免安装版本)
  7. oracle数据库安装自动化,自动化Oracle数据库静默安装
  8. windows7 下vmware workstation 12安装Ubuntu16.04虚拟机及安装和共享文件夹
  9. jdk5.0的新特性
  10. error: command 'gcc' failed with exit status 1
  11. Schlumberger Drilling Office v4.0 1CD(综合钻井工程设计软件)
  12. NeoKylin(linux)操作系统基本操作(自用)
  13. Deepin15.3 安装firefox flash插件
  14. 2021年茶艺师(初级)考试试卷及茶艺师(初级)模拟考试
  15. 数理统计基础-相关系数
  16. php date.getday,JavaScript从Date对象返回一周中的某一天 (0 ~ 6)的方法getDay()
  17. 网站分析行业的“前途”和“钱途”
  18. 金额转换,阿拉伯数字的金额转换成中国传统的形式如:(¥1011)-(一千零一拾一元整)输出
  19. Java:抽象成类找对象
  20. 全新轻量级ViT!LVT:具有增强自注意力的Lite视觉Transformer

热门文章

  1. gcc的-g,-o,-c,-D,-w,-W,-Wall,-O3等参数的意义
  2. 物联网卡可以接收短信,有打电话功能吗?
  3. 让PPT效果脱颖而出的几大技巧!
  4. 【转载】 深度学习中的鲁棒性与稳健性(稳定性)
  5. 在vue-cli里如何对接融云webIM
  6. 专访搜狗输入法 iOS 版开发负责人李腾杰:第三方输入法开发与优化实践
  7. 我的2011,逝去的只是青春
  8. java facets_按ggplot(facets)中的因子绘制的多个图
  9. IDEA+Java+JSP+Mysql+Tomcat实现Web教师信息管理系统
  10. 大齐玩转微信公众账号系列(四):微信公众账号开发入门(原理)