同步应用(python 版)

来源:互联网 发布:java使用百度地图api 编辑:程序博客网 时间:2024/06/05 20:29

同步应用

多个线程有序执行
from threading import Thread,Lockfrom time import sleepclass Task1(Thread):    def run(self):        while True:            if lock1.acquire():                print("------Task 1 -----")                sleep(0.5)                lock2.release()class Task2(Thread):    def run(self):        while True:            if lock2.acquire():                print("------Task 2 -----")                sleep(0.5)                lock3.release()class Task3(Thread):    def run(self):        while True:            if lock3.acquire():                print("------Task 3 -----")                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()运行结果:------Task 1 -----------Task 2 -----------Task 3 -----------Task 1 -----------Task 2 -----------Task 3 -----------Task 1 -----------Task 2 -----------Task 3 -----------Task 1 -----------Task 2 -----------Task 3 -----------Task 1 -----------Task 2 -----------Task 3 -----...省略...

总结

  • 可以使用互斥锁完成多个任务,有序的进程工作,这就是线程的同步

原创粉丝点击