|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
import threading
import time
class myThreada(threading.Thread):
def run(self):
evt.wait()
print(self.name,':Good morning!')
#evt.clear()
time.sleep(1)
#evt.set()
time.sleep(1)
evt.wait()
print(self.name,":i'm fine,thank you.")
class myThreadb(threading.Thread):
def run(self):
print(self.name,":good moring!")
evt.set()
time.sleep(1)
evt.wait()
print(self.name,":how are you?")
#evt.clear()
time.sleep(1)
#evt.set()
evt = threading.Event()
def main():
John = myThreada()
John.name = 'John'
Smith = myThreadb()
Smith.name = 'Smith'
John.start()
Smith.start()
if __name__ == "__main__":
main()
取消了注释代码行的注释的和不取消注释得到的结果一样。
对于这段代码。当wait阻止当前线程后,我觉得set()一次就可以保证线程间互相通信了啊。
既然wait是要得到True后才能释放线程让线程继续,那么设置一次set()就可以了啊。
为什么还要设置clear() |
|