欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python 實現(xiàn)兩個線程交替執(zhí)行

 更新時間:2020年05月02日 10:23:01   作者:Mnnk  
這篇文章主要介紹了python 實現(xiàn)兩個線程交替執(zhí)行,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

我就廢話不多說,直接看代碼吧!

import threading
import time

def a():
  while True:
    lockb.acquire()
    print('a')
    locka.release()
    time.sleep(0.5)


def b():
  while True:
    locka.acquire()
    print('b')
    lockb.release()
    time.sleep(0.5)


if __name__ == "__main__":
  locka = threading.Lock()
  lockb = threading.Lock()

  ta = threading.Thread(None, a)
  tb = threading.Thread(None, b)

  locka.acquire()   #保證a先執(zhí)行

  ta.start()
  tb.start()

獲取對方的鎖,運行完后釋放自己的鎖

補充知識:線程同步——兩個線程輪流執(zhí)行python實現(xiàn)

看代碼!

import threading
import time
lockA=threading.Lock()
lockB=threading.Lock()
def printA(n):
 if n<0:
  return
 lockA.acquire()
 print("+++")
 lockB.release()
 time.sleep(0.1)
 printA(n-1)
def printB(n):
 if n<0: 
  return
 lockB.acquire()
 print("***")
 lockA.release()
 time.sleep(0.2)
 printB(n-1) 
 
lockB.acquire()
t1=threading.Thread(target=printA,args=(10,))
t2=threading.Thread(target=printB,args=(10,))
t1.start()
t2.start()
t1.join()
t2.join()

找實習,又要回憶起操作系統(tǒng)的東西了。

思想:創(chuàng)建兩個鎖lockA和lockB。每次執(zhí)行完后,鎖掉自己的鎖,并釋放對方的鎖。

初始時,若A先運行,則釋放A的鎖,鎖住B的鎖。

以上這篇python 實現(xiàn)兩個線程交替執(zhí)行就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

最新評論