python基于event实现线程间通信控制


Posted in Python onJanuary 13, 2020

这篇文章主要介绍了python基于event实现线程间通信控制,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

import threading,time
class Boss(threading.Thread):
  def run(self):
    print("We must work today!")
    event.isSet() or event.set()
    time.sleep(5)
    print("You can go home right now!")
    event.isSet() or event.set()

class Worker(threading.Thread):
  def run(self):
    event.wait()
    print("Oh,my god!!!")
    time.sleep(1)
    event.clear()
    event.wait()
    print("Oh,yeah!!!")
if __name__ == "__main__":
  event = threading.Event()
  threads = []
  for i in range(5):
    threads.append(Worker())
  threads.append(Boss())
  for t in threads:
    t.start()
  for t in threads:
    t.join()

运行后显示:

We must work today!
Oh,my god!!!
Oh,my god!!!
Oh,my god!!!
Oh,my god!!!
Oh,my god!!!
You can go home right now!
Oh,yeah!!!
Oh,yeah!!!
Oh,yeah!!!
Oh,yeah!!!
Oh,yeah!!!

Process finished with exit code 0

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
基于python3实现socket文件传输和校验
Jul 28 Python
Pycharm配置远程调试的方法步骤
Dec 17 Python
解决Python selenium get页面很慢时的问题
Jan 30 Python
python3 json数据格式的转换(dumps/loads的使用、dict to str/str to dict、json字符串/字典的相互转换)
Apr 01 Python
网易有道2017内推编程题 洗牌(python)
Jun 19 Python
python实现数据分析与建模
Jul 11 Python
python2爬取百度贴吧指定关键字和图片代码实例
Aug 14 Python
Python pandas.DataFrame 找出有空值的行
Sep 09 Python
Python常用库Numpy进行矩阵运算详解
Jul 21 Python
无惧面试,带你搞懂python 装饰器
Aug 17 Python
利用Opencv实现图片的油画特效实例
Feb 28 Python
Python基础教程,Python入门教程(超详细)
Jun 24 Python
pytorch 实现张量tensor,图片,CPU,GPU,数组等的转换
Jan 13 #Python
python、PyTorch图像读取与numpy转换实例
Jan 13 #Python
pytorch 彩色图像转灰度图像实例
Jan 13 #Python
Ranorex通过Python将报告发送到邮箱的方法
Jan 12 #Python
python opencv实现信用卡的数字识别
Jan 12 #Python
Python 实现递归法解决迷宫问题的示例代码
Jan 12 #Python
Python3.x+迅雷x 自动下载高分电影的实现方法
Jan 12 #Python
You might like
使用 php4 加速 web 传输
2006/10/09 PHP
php面向对象全攻略 (二) 实例化对象 使用对象成员
2009/09/30 PHP
php session_start()关于Cannot send session cache limiter - headers already sent错误解决方法
2009/11/27 PHP
php去掉字符串的最后一个字符附substr()的用法
2011/03/23 PHP
php断点续传之如何分割合并文件
2014/03/22 PHP
详细解读PHP的Yii框架中登陆功能的实现
2015/08/21 PHP
ThinkPHP打水印及设置水印位置的方法
2016/10/14 PHP
php array_multisort 对数组进行排序详解及实例代码
2016/10/27 PHP
记录Yii2框架开发微信公众号遇到的问题及解决方法
2018/07/20 PHP
纯CSS打造的导航菜单(附jquery版)
2010/08/07 Javascript
jquery弹出关闭遮罩层实例
2013/08/06 Javascript
javascript实现简单的鼠标拖动效果实例
2015/04/10 Javascript
JavaScript程序设计之JS调试
2015/12/09 Javascript
【经典源码收藏】jQuery实用代码片段(筛选,搜索,样式,清除默认值,多选等)
2016/06/07 Javascript
常用原生js自定义函数总结
2016/11/20 Javascript
javascript实现数据双向绑定的三种方式小结
2017/03/09 Javascript
Bootstrap table学习笔记(2) 前后端分页模糊查询
2017/05/18 Javascript
详解Vue实战指南之依赖注入(provide/inject)
2018/11/13 Javascript
python 异常处理总结
2016/10/18 Python
Python断言assert的用法代码解析
2018/02/03 Python
Python实现合并同一个文件夹下所有PDF文件的方法示例
2018/04/28 Python
Python任意字符串转16, 32, 64进制的方法
2019/06/12 Python
python使用 cx_Oracle 模块进行查询操作示例
2019/11/28 Python
使用python-opencv读取视频,计算视频总帧数及FPS的实现
2019/12/10 Python
python函数map()和partial()的知识点总结
2020/05/26 Python
Python魔术方法专题
2020/06/19 Python
Python lambda表达式原理及用法解析
2020/08/18 Python
智能室内花园:Click & Grow
2021/01/29 全球购物
大学自荐信
2013/12/12 职场文书
初中英语教学反思
2014/01/25 职场文书
读书活动总结
2014/04/28 职场文书
学生会竞选演讲稿纪检部
2014/08/25 职场文书
2015年检验科工作总结
2015/04/27 职场文书
浅谈Golang 嵌套 interface 的赋值问题
2021/04/29 Golang
解决golang 关于全局变量的坑
2021/05/06 Golang
python多线程方法详解
2022/01/18 Python