PYTHON线程知识再研习G--线程间通信Event
2023-09-14 08:59:36 时间
很多时候,线程之间会有互相通信的需要。常见的情形是次要线程为主要线程执行特定的任务,在执行过程中需要不断报告执行的进度情况。前面的条件变量同步已经涉及到了线程间的通信(threading.Condition的notify方法)。更通用的方式是使用threading.Event对象。
threading.Event 可以使一个线程等待其他线程的通知。其内置了一个标志,初始值为False。线程通过wait()方法进入等待状态,直到另一个线程调用set()方法将 内置标志设置为True时,Event通知所有等待状态的线程恢复运行。还可以通过isSet()方法查询Envent对象内置状态的当前值。
![复制代码](http://common.cnblogs.com/images/copycode.gif)
import threading import random import time class MyThread(threading.Thread): def __init__(self,threadName,event): threading.Thread.__init__(self,name=threadName) self.threadEvent = event def run(self): print "%s is ready" % self.name self.threadEvent.wait() print "%s run!" % self.name sinal = threading.Event() for i in range(10): t = MyThread(str(i),sinal) t.start() sinal.set()
![复制代码](http://common.cnblogs.com/images/copycode.gif)
相关文章
- python计算双色球数字概率_python绘制双色球走势图
- python安装numpy后pycharm导入不了_pycharm中numpy安装
- 利用 python 字符串切片生成网页?
- Python 使用 Tornado Web 框架写HTTP接口实例代码(异步+线程池)
- python语言变量命名规则有什么_Python变量命名规则(超级详细)
- Python爬虫之xpath语法及案例使用
- python 生成数组_Python创建数组「建议收藏」
- python电脑版微信-微信PC版的API接口 | 可通过Python调用微信功能
- python 遍历文件夹下所有图片
- Python实现Mean Shift聚类算法
- python全局变量赋值_Python全局变量和局部变量[通俗易懂]
- Python 2.7.6软件下载和安装教程
- Python-Socket通信
- 以下哪些字符可以用于定义Python标识符_if可以作为用户标识符吗
- Python Tkinter+py2exe[通俗易懂]
- Python保存json_python保存json文件
- python中copy.deepcopy_Python eval
- python自动化测试—Python自动化框架及工具
- 【编写环境二】python库scipy.stats各种分布函数生成、以及随机数生成【泊松分布、正态分布等】
- 客户同期群分析Python实战
- Python基础语法-表达式(二)
- python-Python与SQLite数据库-使用Python执行SQLite查询(二)
- python-Python与SQLite数据库-处理SQLite查询结果(一)
- 在Linux上搭建Python开发环境(linux搭建python环境)
- python使用Python轻松操作Redis(redis-)
- Python在MSSQL中的应用实践(python与mssql)