Python events
- Events不同线程之间同步对象
参数说明:
# 实例化event对象
event = threading.Event() # 等待检测标志位被设定,标志位设置后就不阻塞了
# 客户机线程可以等待设置标志
event.wait() # 设置一个全局变量标志位True
event.set() # 清空全局变量False
event.clear()
events模板:
import time,threading # 生成event实例对象
event = threading.Event() # 设置红绿灯函数
def lighter(): # 设置变量0
count = 0 # 设置event为True 启动绿灯
event.set()
while True:
# 如果在5以上10一下就成立
if count >5 and count < 10:
# 清空event为False,显示红灯
event.clear()
print("\033[41;1mThe red light..\033[0m")
# 如果10以上就成立
elif count >10:
# 设置为True 变绿灯
event.set()
# 还原为0
count = 0
else:
print("\033[42;1mThe green light..\033[0m") # 每次1秒就+1
time.sleep(1)
count +=1 # 模拟车量函数
def car(name):
while True:
# 测试是否设置了标识位,射了为True,未射False
if event.is_set():
print("[%s] running..."%name)
time.sleep(1)
else:
# 为False的时候就是红灯
print("[%s] sees red light , waiting..."%name)
# 等待检测标识位,表示位后往下执行
event.wait()
print("\033[34;1m[%s] green light is on,start going...\033[0m"%name) # 生成实例话执行红绿灯线程
light = threading.Thread(target=lighter)
light.start() # 生成实例话执行车线程
car1 = threading.Thread(target=car,args=("Tesla",))
car1.start()
Python events的更多相关文章
- python urllib模块
1.urllib.urlopen(url[,data[,proxies]]) urllib.urlopen(url[, data[, proxies]]) :创建一个表示远程url的类文件对象,然后像 ...
- Python 运维之路
第一章:Python基础知识 1.Python 变量了解 .Python 二进制 .Python 字符编码 4.Python if条件判断 5.Python while循环 6.Python for循 ...
- python中对 函数 闭包 的理解
最近学到 函数 闭包的时候,似懂非懂.迷迷糊糊的样子,很是头疼,今天就特意查了下关于闭包的知识,现将我自己的理解分享如下! 一.python 闭包定义 首先,关于闭包,百度百科是这样解释的: 闭包是指 ...
- python官网导航翻译
- 系统学习爬虫_2_urllib
什么是urllib urlopen urllib.request.urlopen(url, data=None, [timeout, ]*, cafile=None, capath=None, cad ...
- Python threads synchronization: Locks, RLocks, Semaphores, Conditions, Events and Queues(Forwarding)
This article describes the Python threading synchronization mechanisms in details. We are going to s ...
- 【初学python】使用python调用monkey测试
目前公司主要开发安卓平台的APP,平时测试经常需要使用monkey测试,所以尝试了下用python调用monkey,代码如下: import os apk = {'j': 'com.***.test1 ...
- 使用python自动生成docker nginx反向代理配置
由于在测试环境上用docker部署了多个应用,而且他们的端口有的相同,有的又不相同,数量也比较多,在使用jenkins发版本的时候,不好配置,于是想要写一个脚本,能在docker 容器创建.停止的时候 ...
- Python标准模块--threading
1 模块简介 threading模块在Python1.5.2中首次引入,是低级thread模块的一个增强版.threading模块让线程使用起来更加容易,允许程序同一时间运行多个操作. 不过请注意,P ...
随机推荐
- 大整数加减运算的C语言实现
目录 大整数加减运算的C语言实现 一. 问题提出 二. 代码实现 三. 效果验证 大整数加减运算的C语言实现 标签: 大整数加减 C 一. 问题提出 培训老师给出一个题目:用C语言实现一个大整数计算器 ...
- Linux系统Vi/Vim编辑器的简单介绍、安装/卸载、常用命令
Linux系统Vi/Vim编辑器的简单介绍.安装/卸载.常用命令 1.介绍 vi(Visual Interface)编辑器是Linux和Unix上最基本的文本编辑器,工作在字符模式下.由于不需要图形界 ...
- springboot2.X访问静态文件配置
config配置: @Configuration public class WebMvcConfig implements WebMvcConfigurer { /** * 跨域配置 * @retur ...
- What do cryptic Github comments mean?
LGTM — looks good to me ACK — acknowledgement, i.e. agreed/accepted change NACK/NAK — negative a ...
- image的srcset属性
介绍 响应式页面中经常用到根据屏幕密度设置不同的图片.这个时候肯定会用到image标签的srcset属性.srcset属性用于设置不同屏幕密度下,image自动加载不同的图片.用法如下: <im ...
- python学习之旅(十六)
Python基础知识(15):模块 1.可以把模块想象成导入Python以增强其功能的扩展 2.任何程序都可以作为模块导入 3.导入模块并不意味着在导入的时候执行某些操作,它们主要用于定义变量.函数和 ...
- android不知不觉偷拍他人功能实现(手机关闭依然拍照)【申明:来源于网络】
android不知不觉偷拍他人功能实现(手机关闭依然拍照)[申明:来源于网络] 地址:http://blog.csdn.net/huangxiaoguo1/article/details/536660 ...
- C语言面试笔记(8/26)
在32位的机器环境下,char.short.int.float.double这样的内置数据类型sizeof值的大小分别为1,2,4,4,8: C++标模板库(standard Template Lib ...
- If 与 else的性福生活。
IF 与 ELSE 从此不再孤单 今天我们来学习java课程里的选择结构——if与else if的意思,众所周知,就是如果想必大家心里对这个词已经有丶数了 else的意思,一目了然,就是否则经过图片的 ...
- java_BufferedReader的一个应用
应用来自于我做网页的时候,来读出一个txt文档,由于输出到页面的时候总是没有排版,但是原文件中有换行符,之前是使用的byte数组传输,但是这样无法换行 就使用了BufferedReader,因为它是一 ...