from threading import Thread, Event
import time event = Event() def light():
print('红灯亮着,所有车都要等待')
time.sleep(3)
print('绿灯亮了,可以出发')
event.set() # 定义一个事件,当所有线程遇到event.wait的时候都会等待这个事件,直到这个事件运行完了,event.wait才能继续运行 def car(name):
print(f'{name}正在等红灯')
event.wait() # 定义一个event.wait事件,等event.set运行完了才会继续运行
print(f'{name}可以出发了!!') t = Thread(target=light)
t.start() # 运行event.set事件的函数
for i in range(5):
t = Thread(target=car, args=(f'汽车{i}',))
t.start()

python线程之event事件的更多相关文章

  1. python 线程之 threading(四)

    python 线程之 threading(三) http://www.cnblogs.com/someoneHan/p/6213100.html中对Event做了简单的介绍. 但是如果线程打算一遍一遍 ...

  2. python 线程之 threading(三)

    python 线程之 threading(一)http://www.cnblogs.com/someoneHan/p/6204640.html python 线程之 threading(二)http: ...

  3. python 线程之_thread

    python 线程之_thread _thread module: 基本用法: def child(tid): print("hello from child",tid) _thr ...

  4. 并发编程之Event事件

    Event事件 用来同步线程之间的状态. 举个例子: ​ 你把一个任务丢到了子线程中,这个任务将异步执行.如何获取到这个任务的执行状态 解决方法: 如果是拿到执行结果 我们可以采用异步回调, 在这里我 ...

  5. python多线程之Event(事件)

    #!/usr/bin/env python # -*- coding: utf-8 -*- import time from threading import Thread, Event import ...

  6. python 线程之threading(五)

    在学习了Event和Condition两个线程同步工具之后还有一个我认为比较鸡肋的工具 semaphores 1. 使用semaphores的使用效果和Condition的notify方法的效果基本相 ...

  7. python 线程之 threading(二)

    在http://www.cnblogs.com/someoneHan/p/6204640.html 线程一中对threading线程的开启调用做了简单的介绍 1 在线程开始之后,线程开始独立的运行直到 ...

  8. python 线程之 threading(一)

    threading:基于对象和类的较高层面上的接口,threading模块在内部使用_thread模块来实现线程的对象以及常用的同步化工具的功能. 使用定制类的方式继承 threading.Threa ...

  9. python线程之condition

    cond = threading.Condition() # 类似lock.acquire() cond.acquire() # 类似lock.release() cond.release() # 等 ...

  10. python学习笔记——创建事件对象Event

    1 Event对象的基本概述 用 multiprocessing.Event 实现线程间通信,使用multiprocessing.Event可以使一个线程等待其他线程的通知,我们把这个Event传递到 ...

随机推荐

  1. C# net core 从文件流中获取文件头、匹配文件类型

    常用文件的文件头如下: (以前六位为准) JPEG (jpg),文件头:FFD8FF PNG (png),文件头:89504E47 GIF (gif),文件头:47494638 TIFF (tif), ...

  2. pt-query-digest 工具使用分析

    pt-query-digest是用于分析mysql慢查询的一个工具,它可以分析binlog.General log.slowlog,也可以通过SHOW PROCESSLIST或者通过tcpdump抓取 ...

  3. mysql授权、导入等基本操作

    1.授权: mysqladmin -uroot password rootpwd mysql -uroot -prootpwd mysql -e "INSERT INTO user (Hos ...

  4. Mysql explain 每个属性含义

    Mysql explain explain 常用于分析sql语句的执行效率,使用时在正常的select语句之前添加explain并执行就会返回执行信息,返回的执行信息如下:  id:id列的编号是se ...

  5. Flowable 中文文档

    中文文档:https://tkjohn.github.io/flowable-userguide/#bpmnInclusiveGatewayGraphicalNotation

  6. visio任意图形填充

    开发工具->操作->修剪->按住Shift键点击填充图形所有边 同时选中后->组合->开发工具->操作->连接 回到开始选项卡选择填充颜色 中途不要点击其他, ...

  7. CSS面试题及答案

    介绍一下标准的CSS的盒子模型?与低版本IE的盒子模型有什么不同的? 标准盒子模型:宽度=内容的宽度(content)+ border + padding + margin 低版本IE盒子模型:宽度= ...

  8. 跨域获取iframe页面的url

    一:跨域获取iframe页面的url 1.在使用iframe页面的js添加以下内容 <script> var host = window.location.href; var histor ...

  9. 面向对象的练习总结(java)

    三次作业总结博客 l  前言 第一次题目集是我刚刚接触java所做的第一套习题,本次题目难度不大,题量较多,涉及的知识点主要是基础的语法知识,出题人的意图是让我们尽快熟悉java的语法,由于事先有c语 ...

  10. OSIDP-进程描述和控制-03

    什么是进程 进程是由一组元素组成的实体,基本元素包括程序代码和与代码相关的数据集(set of data),另外还包括 标识符:一个进程用于和其他进程区分的唯一标识. 状态:进程所处的状态. 优先级: ...