PYTHON线程知识再研习G--线程间通信Event
2014-09-05 09:47
471 查看
很多时候,线程之间会有互相通信的需要。常见的情形是次要线程为主要线程执行特定的任务,在执行过程中需要不断报告执行的进度情况。前面的条件变量同步已经涉及到了线程间的通信(threading.Condition的notify方法)。更通用的方式是使用threading.Event对象。
threading.Event
可以使一个线程等待其他线程的通知。其内置了一个标志,初始值为False。线程通过wait()方法进入等待状态,直到另一个线程调用set()方法将
内置标志设置为True时,Event通知所有等待状态的线程恢复运行。还可以通过isSet()方法查询Envent对象内置状态的当前值。
threading.Event
可以使一个线程等待其他线程的通知。其内置了一个标志,初始值为False。线程通过wait()方法进入等待状态,直到另一个线程调用set()方法将
内置标志设置为True时,Event通知所有等待状态的线程恢复运行。还可以通过isSet()方法查询Envent对象内置状态的当前值。
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()
相关文章推荐
- PYTHON线程知识再研习D---可重入锁
- python线程间通信方法小结:event、condition 和 queue
- python 线程间通信方法一:event 示例
- python学习笔记——线程间通信Event
- Python使用Event线程间通信
- PYTHON线程知识再研习E---条件变量同步Condition
- PYTHON线程知识再研习C---线程互斥锁
- Python多线程编程(八):使用Event实现线程间通信
- Python:使用threading模块实现多线程编程八[使用Event实现线程间通信]
- PYTHON线程知识再研习B
- PYTHON线程知识再研习F---队列同步Queue
- Python:使用threading模块实现多线程编程八[使用Event实现线程间通信]
- PYTHON线程知识再研习A
- Python(可重入锁-线程同步之条件变量-队列-线程通信event-线程合并join-多进程)
- python学习笔记——线程间通信Event
- python线程间通信方法之Event
- python线程通信之event
- python多线程编程(7):线程间通信
- 【原】qt4 子线程给主线程发消息,发数据,通信,qthread gui postevent emit
- qt4 子线程给主线程发消息,发数据,通信,qthread gui postevent emit .