multiprocessing Event实现中断进程或程序

参考:https://www.cnblogs.com/MoKinLi/p/17931515.html

import multiprocessing
import time

def worker(event, value):
    while True:
        # 检查事件是否被设置
        if event.is_set():
            # 事件被设置,中断程序
            break

        # 模拟工作
        time.sleep(1)
        print(f"Working: {value}")

if __name__ == "__main__":
    # 创建事件
    event = multiprocessing.Event()

    # 创建子进程
    p = multiprocessing.Process(target=worker, args=(event, "test"))
    p.start()

    # 等待 5 秒
    time.sleep(5)

    # 设置事件
    event.set()

    # 等待子进程结束
    p.join()

    print("程序已中断")

multiprocessing.Process(target=worker, args=(event, “test”))
启动子进程;主进程time.sleep(5)运行,当主进程设置事件 event.set()后子进程被关闭

1)去掉 p.join() 可以让程序继续运行,但子进程可能不会立即终止。

原因:

p.join() 方法会阻塞主进程,直到子进程结束。
如果不调用 p.join(),主进程会继续运行,而子进程会在后台继续运行。

2)主进程设置event.set() 是怎么被子进程识别的
在这里插入图片描述

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

DataGrip 连接 Centos MySql失败

首先检查Mysql是否运行: systemctl status mysqld , 如果显示没有启动则需要启动mysql 检查防火墙是否打开,是否打开3306的端口 sudo firewall-cmd --list-all 如果下面3306没有打开则打开3306端口 publictarget: defaulticmp-block-inver…

消防监督业务比武竞赛活动方案

为检验各级消防救援机构消防监督业务大练兵成效,根据总队防火业务练兵活动总体部署,决定举办“云岭蓝盾”杯消防监督业务比武竞赛,方案如下: 决赛设置打铁还需自身硬、实践真知显担当、鱼跃龙门展风采3个环节。利用比武竞赛平台设…

设计模式:策略模式 ⑥

一、策略模式思想 简介 策略模式(Strategy Pattern)属于对象的行为模式。其用意是针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化。…

【比较mybatis、lazy、sqltoy、mybatis-flex、easy-query、mybatis-mp操作数据】操作批量新增、分页查询(四)

orm框架使用性能比较 比较mybatis、lazy、sqltoy、mybatis-flex、easy-query、mybatis-mp操作数据 环境: idea jdk17 spring boot 3.0.7 mysql 8.0测试条件常规对象 orm 框架是否支持xml是否支持 Lambda对比版本编码方式mybatis☑️☑️3.5.4lambda xml 优化sq…

E33NCHA-LNN-NS-00主要特点

E33NCHA-LNN-NS-00是一款由Kollmorgen公司生产的高性能伺服电机,专门设计用于对运动系统进行精确控制。 以下是这款伺服电机的一些主要特点: 高扭矩密度:该电机能够在其尺寸下提供较大的扭矩输出,这对于空间有限的应用场合尤为重…

护眼灯哪个牌子好?热门护眼台灯测评对比:明基/书客/柏曼,速度戳进来了解!

近年来,市场上出现了大量新型护眼台灯,让消费者在面对众多选择时感到困惑。在选购护眼台灯的时候,我们需要谨慎考虑,有些护眼台灯因为不合格,在使用过程中发热可能会产生有毒物质,对健康造成不良影响。那么…

二维码门楼牌管理系统应用场景:市政工程与建筑领域的新宠

文章目录 前言一、简化建筑许可证审批过程二、确保建筑物门牌数据准确三、提升城市管理效率和服务水平四、促进智慧城市建设与发展 前言 随着科技的进步,二维码技术已逐渐渗透到我们生活的方方面面。在城市管理中,二维码门楼牌管理系统的应用正变得日益…

【探索AI】二十五 深度学习之第8周:深度学习项目实战

项目名称:基于深度学习的图像分类系统 一、项目背景 随着大数据和人工智能技术的快速发展,图像分类技术在各个领域得到了广泛应用,如安防监控、医疗诊断、自动驾驶等。本项目旨在利用深度学习技术构建一个高效的图像分类系统,实…

[云原生] k8s之存储卷

一、emptyDir存储卷 当Pod被分配给节点时,首先创建emptyDir卷,并且只要该Pod在该节点上运行,该卷就会存在。正如卷的名字所述,它最初是空的。Pod 中的容器可以读取和写入emptyDir卷中的相同文件,尽管该卷可以挂载到每…

25.基于springboot + vue实现的前后端分离-停车管理系统(项目 + 论文)

项目介绍 本停车场管理系统是中小型的停车场管理的系统。包括用户信息管理,车位信息管理,车位费用管理,停泊车辆管理,车辆进出管理等主要功能。为方便用户可以清晰地了解到车辆运行情况,可以通过本系统日历图形报表和柱…

Java基础数据结构之队列

一.什么是队列 队列是一种先进先出的数据结构,也就是从左边进从右边出,或者说,只允许在一端插入元素,在另一端删除元素 进行插入操作的一端称为队尾(tail/rear),删除操作的一段称为队头&#…

【bug日记】已解决:Invalid bound statement (not found): 找不到对应的Mapper映射类

急着解决问题的哥们直接用目录跳到下文哈 我放传送门了 目录 试错 尝试过确认的东西: 最终解决方案!已经完美解决: 只需要在你配置数据源的地方: 更改为: MybatisSqlSessionFactoryBean sessionFactory …

如何搭建咨询预类小程序?看完快速了解小程序架构

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、pandas是什么?二、使用步骤 1.引入库2.读入数据总结 前言 今天简单介绍一下咨询预约类小程序,具体功能、系统应用范围。 一、咨询…

安装或卸载VMware时,显示无法打开注册表项,以及开启虚拟机电脑蓝屏重启的解决方法

我之前安装过一次VMware,之后就随手把他删除了,但没有删除干净,最近我再次安装VMware的时候,出现了一系列问题,我决定分享一下我的解决方案。 一:安装或卸载VMware时,显示无法打开注册表项 解决…

微信小程序开发系列(十三)·如何使用iconfont、微信小程序中如何使用字体图标

目录 1. 如何使用iconfont 2. 微信小程序中如何使用字体图标 3. 背景图的使用 1. 如何使用iconfont 在项目中使用到的小图标,一般由公司设计师进行设计,设计好以后上传到阿里巴巴矢量图标库,然后方便程序员来进行使用。 小程序中的字体…

VR智慧商城“场景购”,打造购物新篇章

近日来,“快递新规”引发了社会热议,更有快递员直呼想转行送外卖。现在的快递行业可谓是盛行一时,消费群体逐渐趋于年轻化,很多人一天时间一半时间都在网上冲浪;而对于实体行业来说,如果一味的坚持做线下&a…

git合并多次提交

简介 Git是一个分布式版本控制系统,它允许开发人员在不同的分支上进行并行开发,并将这些分支合并到主分支或其他分支中。在开发过程中,我们经常会创建多个commit来记录每次的代码变更。有时候我们希望将这些连续的commit合并为一个更有意义的…

生成式 AI

生成式 AI 进入应用爆发期,将极大地推动数字化内容生产与创造。 摘要 生成式 AI ( Generative AI 或 AIGC ) 是利用现有文本、音频文件或图像创建 新内容的技术。过去一年,其技术上的 进展主要来自于三大领域:…

理解CPU指令执行:从理论到实践

理解CPU指令执行:从理论到实践 在探讨现代计算机的核心——中央处理单元(CPU)的工作原理时,我们经常遇到“时钟周期”和“指令执行”这两个概念。这些概念不仅对于理解CPU的性能至关重要,而且对于揭示计算机如何处理任…