首页 > 编程语言 >python创建线程和关闭线程

python创建线程和关闭线程

时间:2023-03-23 18:14:11浏览次数:45  
标签:__ raise python exctype 线程 关闭 time tid sleep

import threading
import inspect
import ctypes
import time

def task1():
  while True:
    print("hello")
    time.sleep(1)

def task2():
  while True:
    print("world")
    time.sleep(2)

def _async_raise(tid, exctype):
  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:
    ctypes.pythonapi.PyThreadState_SetAsyncExc(tid, None)
    raise SystemError("PyThreadState_SetAsyncExc failed")

def stop_thread(id):
  _async_raise(id, SystemExit)

if __name__ == '__main__':
  job1 = threading.Thread(task1)
  job2 = threading.Thread(task2)
  job1.start()
  job2.start()

  time.sleep(2)
  stop_thread(job1.ident)

  time.sleep(2)
  stop_thread(job2.ident)

 

 

标签:__,raise,python,exctype,线程,关闭,time,tid,sleep
From: https://www.cnblogs.com/weilaiqinkong/p/17248355.html

相关文章

  • 如何用Python对股票数据进行LSTM神经网络和XGboost机器学习预测分析(附源码和详细步骤),
    前言最近调研了一下我做的项目受欢迎程度,大数据分析方向竟然排第一,尤其是这两年受疫情影响,大家都非常担心自家公司裁员或倒闭,都想着有没有其他副业搞搞或者炒炒股、投资点......
  • opencv-python 1
    参考地址:https://opencv-python-tutorials.readthedocs.io/zh/latest/安装pipinstallopencv-python以下所有内容来自上边连接中整理,使用中参考上边连接中的文档图片......
  • python 协程 第三方greenlet
    1.greenlet自行执行的微线程https://greenlet.readthedocs.io/en/latest/greenlet.html 2.终端安装pipinstallgreenlet 3.举个栗子importtimefromgree......
  • python 之 click 包,设置命令行参数
    原文链接:PythonClick学习笔记 Click 是Flask的团队pallets开发的优秀开源项目,它为命令行工具的开发封装了大量方法,使开发者只需要专注于功能实现。恰好我最近在......
  • Python 获取 KVM 虚拟机的监控信息(基于 libvirt API)
    Python获取KVM虚拟机的监控信息(基于libvirtAPI)通常在我们的云环境中,为了保证云平台中虚拟机的正常运行,基本都需要这样一个功能,就是收集虚拟机的监控数据,比如CPU的......
  • 请写一个用python3.x pool.map多进程下载文件的示例代码
    自己改了一下要下载的url,一个网页,一个exe,一个PDFimportrequestsimportmultiprocessingdefdownload_file(url):local_filename=url.split('/')[-1]with......
  • ArcMap将Python写的代码转为工具箱与自定义工具
      本文介绍在ArcMap软件中,通过已有的Python脚本程序,建立新的工具箱并在其中设置自定义工具的方法。  通过本文介绍的操作,我们便可以实现将自己的Python代码封装,并像其......
  • 20 个非常有用的 Python 单行代码!
    1一行For循环for循环是一个多行语句,但是在Python中,我们可以使用列表推导式方法在一行中编写for循环。以过滤小于250的值为例,查看下面的代码示例。#For循环在一行......
  • python 接口加密
    #-*-coding:utf-8-*-"""@author:Mr_zhang@software:PyCharm@file:encryption.py@time:2023/3/2310:00"""importjsonimporttimeimportbase64from......
  • 10 种聚类算法的完整 Python 操作示例
    一.聚类聚类分析,即聚类,是一项无监督的机器学习任务。它包括自动发现数据中的自然分组。与监督学习(类似预测建模)不同,聚类算法只解释输入数据,并在特征空间中找到自然组或群......