# -*- coding: utf-8 -*- import threading, time eve = threading.Event() class ready(threading.Thread): def run(self): print 'Ready' eve.set() class waitAndStart(threading.Thread): def run(self): print self.getName(), 'wating...' eve.wait() print self.getName(), 'start' thList = [] for i in range(3): thList.append(waitAndStart()) thList[i].start() ready().start() for th in thList: th.join() print 'exit'