python同步应用:多个线程有序执行
可以使用互斥鎖完成多個任務,有序的進程工作,這就是線程的同步
from threading import Thread, Lock
import time
mutex1= Lock()? # 創建一個互斥鎖
mutex2= Lock()? # 創建一個互斥鎖
mutex3= Lock()? # 創建一個互斥鎖
?
?
def fun1():
??? while 1:
??????? mutex1.acquire()? # 阻塞
??????? print("線程1 執行")
??????? mutex2.release()?? # 釋放鎖2,讓線程2繼續執行
??????? time.sleep(0.1)
?
?
def fun2():
??? while 1:
??????? mutex2.acquire()? # 阻塞
??????? print("線程2 執行")
??????? mutex3.release()?? # 釋放鎖3,讓線程3繼續執行
??????? time.sleep(0.1)
?
?
def fun3():
??? while 1:
??????? mutex3.acquire()? # 阻塞
??????? print("線程3 執行")
??????? mutex1.release()?? # 釋放鎖1,讓線程1繼續執行
??????? time.sleep(0.1)
?
t1 =Thread(target=fun1)? # 創建一個線程對象
t2 =Thread(target=fun2)? # 創建一個線程對象
t3 =Thread(target=fun3)? # 創建一個線程對象
?
mutex2.acquire()? # 將鎖2設置為上鎖,線程2不能運行
mutex3.acquire()? # 將鎖2設置為上鎖,線程2不能運行
?
t1.start()? # 開啟線程的執行
t2.start()
t3.start()
?
t1.join()? # 回收線程資源
t2.join()
t3.join()
總結
以上是生活随笔為你收集整理的python同步应用:多个线程有序执行的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: css hover变成手_web前端入门
- 下一篇: Java实验方法参数传递与递归_4.3类