同步应用多个线程有序执行fromthreadingimportThread,LockfromtimeimportsleepclassTask1(Thread):defrun(self):whileTrue:iflock1.acquire():print(------Task1-----)sleep(0.5)lock2.release()classTask2(Thread):defrun(self):whileTrue:iflock2.acquire():print(------Task2-----)sleep(0.5)lock3.release()classTask3(Thread):defrun(self):whileTrue:iflock3.acquire():print(------Task3-----)sleep(0.5)lock1.release()#使用Lock创建出的锁默认没有“锁上”lock1=Lock()#创建另外一把锁,并且“锁上”lock2=Lock()lock2.acquire()#创建另外一把锁,并且“锁上”lock3=Lock()lock3.acquire()t1=Task1()t2=Task2()t3=Task3()t1.start()t2.start()t3.start()运行结果:------Task1-----------Task2-----------Task3-----------Task1-----------Task2-----------Task3-----------Task1-----------Task2-----------Task3-----------Task1-----------Task2-----------Task3-----------Task1-----------Task2-----------Task3-----...省略...总结可以使用互斥锁完成多个任务,有序的进程工作,这就是线程的同步
转载请注明:http://www.aierlanlan.com/cyrz/6025.html