python多线程3.1同步测试例子

#coding:gbk
'''
Created on 2013-1-5

@author: Jimmy

@note: 很好的一个例子,说明Clear()在Event事件中作用
'''

import threading
import time
def test1(a, event):
    event.wait()
    #time.sleep(1)  #可以验证ThreadSynchronization.py中AAAA注处所说的内容
    #event.clear()
    print "======================== " + str(a)
    

def test2(a, event):
    print "======================== " + str(a)
    event.set()
    #event.clear()    #可以验证ThreadSynchronization.py中AAAA注处所说的内容
    

def test3(a, event):
    event.wait()
    print "======================== " + str(a)

    

if __name__ == "__main__":
    print "here"
    event = threading.Event()
    th1 = threading.Thread(target=test1,args=(1,event))
    th3 = threading.Thread(target=test3,args=(3,event))
    time.sleep(1)
    th2 = threading.Thread(target=test2,args=(2,event))
    th1.start()
    th2.start()
    th3.start()
    
    th1.join()
    th2.join()
    th3.join()
    print "End"
    
    
    

  

原文地址:https://www.cnblogs.com/2012harry/p/2848689.html