并发编程-线程-17线程和进程的event事件
时间:2019-09-21
本文章向大家介绍并发编程-线程-17线程和进程的event事件,主要包括并发编程-线程-17线程和进程的event事件使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
一丶什么是event事件
通过判断某个线程的状态来确定自己下一步的操作
如果有线程等待一个Event对象, 而这个Event对象的标志为假,那么这个线程将会被一直阻塞直至该标志为真。一个线程如果将一个Event对象的信号标志设置为真,它将唤醒所有等待这个Event对象的线程。如果一个线程等待一个已经被设置为真的Event对象,那么它将忽略这个事件, 继续执行
二丶event事件方法
event.isSet():返回event的状态值;
event.wait():如果 event.isSet()==False将阻塞线程;
event.set(): 设置event的状态值为True,所有阻塞池的线程激活进入就绪状态, 等待操作系统调度;
event.clear():恢复event的状态值为False。
三丶event事件的代码
from threading import Event,Thread
import time
# 先生成一个event对象
e = Event()
def light():
print('红灯正亮着')
time.sleep(3)
e.set() # 发信号
print(e.isSet())
# e.clear()
# print(e.isSet())
print('绿灯亮了')
# print(e.set())
def car(name):
print('%s正在等红灯'%name)
e.wait() # 等待信号
# print(e.isSet())
e.clear()
print(e.isSet())
print('%s加油门飙车了'%name)
t = Thread(target=light)
t.start()
for i in range(10):
t = Thread(target=car,args=('伞兵%s'%i,))
t.start()
原文地址:https://www.cnblogs.com/suren-apan/p/11561953.html
- Hello Bonjour!
- SQL Server 2008 FILESTREAM特性管理文件
- 验证码类库CaptchaMvc
- SQL Server : Browser服务
- 仿今日头条顶部导航效果
- iOS微信小视频优化心得
- ADO.NET Entity Framework CodeFirst 如何输出日志(EF 5.0)
- 仿火车出票效果
- ASP.NET SignalR HubPipelineModule
- 微信ANDROID客户端-会话速度提升70%的背后
- Vue.js前后端同构方案之准备篇—代码优化
- 仿今日头条滑动评论效果
- Android新一代多渠道打包神器
- 应用IBatisNet+Castle进行项目的开发
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法