一、基本定义
    
  事件默认值为False
  event = Event() #设置一个事件实例
  event.set() #设置标志位,将e事件的状态改为True
  event.clear() #清空标志位,将e事件的状态改为False
  event.wait()  #等待设置标志位
 
二、信号灯实例

 1 import time
 2 import random
 3 from multiprocessing import Process,Event
 4
 5 #模拟红绿灯执行状态的函数
 6 def traffic_lights(e):
 7     while 1:
 8         print('红灯啦')
 9         time.sleep(5)
10         e.set()
11         print('绿灯亮')
12         time.sleep(3)
13         e.clear()  #将e改为了False
14 def car(i,e):
15
16     if not e.is_set(): #新来的车看到是红灯
17         print('我们在等待.....')
18         e.wait()
19         print('走你')
20     else:
21         print('可以走了!!!')
22
23 if __name__ == '__main__':
24     e = Event()
25     hld = Process(target=traffic_lights,args=(e,))
26     hld.start()
27     while 1:
28         time.sleep(0.5)
29         #创建10个车
30         for i in range(3):
31             # time.sleep(random.randrange(1,3))
32             p1 = Process(target=car,args=(i,e,))
33             p1.start()

信号灯实例

转载于:https://www.cnblogs.com/hq82/p/9851583.html

40_并发编程-事件相关推荐

  1. .net ticks 转java_《C#并发编程经典实例》—— 转换.NET事件

    声明:本文是<C#并发编程经典实例>的样章,感谢图灵授权并发编程网站发布样章,禁止以任何形式转载此文. 问题 把一个事件作为 Rx 输入流,每次事件发生时通过 OnNext 生成数据. 解 ...

  2. Python之路(第三十八篇) 并发编程:进程同步锁/互斥锁、信号量、事件、队列、生产者消费者模型...

    一.进程锁(同步锁/互斥锁) 进程之间数据不共享,但是共享同一套文件系统,所以访问同一个文件,或同一个打印终端,是没有问题的, 而共享带来的是竞争,竞争带来的结果就是错乱,如何控制,就是加锁处理. 例 ...

  3. Python3 与 C# 并发编程之~ Net篇

    NetCore并发编程 示例代码:https://github.com/lotapp/BaseCode/tree/master/netcore/4_Concurrency 先简单说下概念(其实之前也有 ...

  4. Java并发编程71道面试题及答案

    Java并发编程71道面试题及答案 1.在java中守护线程和本地线程区别? java中的线程分为两种:守护线程(Daemon)和用户线程(User). 任何线程都可以设置为守护线程和用户线程,通过方 ...

  5. Python并发编程实例教程

    有关Python中的并发编程实例,主要是对Threading模块的应用,文中自定义了一个Threading类库. 一.简介 我们将一个正在运行的程序称为进程.每个进程都有它自己的系统状态,包含内存状态 ...

  6. Java并发编程73道面试题及答案——稳了

    点击上方"方志朋",选择"置顶或者星标" 你的关注意义重大! 1.在java中守护线程和本地线程区别? java中的线程分为两种:守护线程(Daemon)和用户 ...

  7. Java并发编程题库

    文章目录 并发编程三要素? 实现可见性的方法有哪些? 创建线程的有哪些方式? 创建线程的三种方式的对比? Runnable 和 Callable 的区别 Java线程具有五中基本状态 什么是线程池?有 ...

  8. 2w字 + 40张图带你参透并发编程!

    1  并发历史  在计算机最早期的时候,没有操作系统,执行程序只需要一种方式,那就是从头到尾依次执行.任何资源都会为这个程序服务,在计算机使用某些资源时,其他资源就会空闲,就会存在 浪费资源 的情况. ...

  9. Java并发编程:Thread类的使用

    为什么80%的码农都做不了架构师?>>>    Java并发编程:Thread类的使用 在前面2篇文章分别讲到了线程和进程的由来.以及如何在Java中怎么创建线程和进程.今天我们来学 ...

最新文章

  1. MacPro 系统空间竟占90G,如何清理--OmniDiskSweeper
  2. 数据浪潮上的IP雄鹰
  3. Lighting System Design UVA 11400 (dp+思维)
  4. python使用协程实现udp_python-socket和进程线程协程(代码展示)
  5. jsp页面之间传中文参数显示乱码问题的解决
  6. 第二次软件工程作业——模仿节奏大师官网制作的网页
  7. 网络安全(二)安全基础
  8. Roblox、Epic Games和Meta,详解三巨头如何引爆元宇宙
  9. mysql ehcache_EhCache使用心得
  10. l310加完墨水后需要怎样设置_epsonl310打印机怎么补充墨水?
  11. 使用EXCEL计算并绘制KDJ指标
  12. 华普天健会计师事务所管理合伙人朱宗瑞:期待数据资产价值在财务报表里充分体现...
  13. Intent.ACTION_VIEW
  14. 支付宝查询对账单对账+解压并将数据读取解析入库
  15. 取次花丛懒回顾,半缘修道半缘君
  16. 使用Matlab求解矩阵方程的解
  17. 文件服务器异地容灾,服务器异地容灾
  18. 泛微E9升级KB包方法
  19. 常用地图投影转换公式 (转载)
  20. Golang mgo 剖析之 Session

热门文章

  1. Python数据清理之数据质量
  2. Elasticsearch 之 数据索引
  3. 《BI那点儿事》数据挖掘初探
  4. flutter PositionedTransition 实现缩放动画
  5. Mr.J--.c 和.cpp 后缀详解
  6. 文件和异常 Python
  7. 互联网基础知识------OSI七层网络模型梗概
  8. MFC+ODBC操作Access数据库pdf版
  9. uva 538Balancing Bank Accounts(构造)
  10. 搬寝室(HDU 1421 DP)