python 實(shí)現(xiàn)兩個(gè)線程交替執(zhí)行
我就廢話不多說(shuō),直接看代碼吧!
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()
獲取對(duì)方的鎖,運(yùn)行完后釋放自己的鎖
補(bǔ)充知識(shí):線程同步——兩個(gè)線程輪流執(zhí)行python實(shí)現(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()
找實(shí)習(xí),又要回憶起操作系統(tǒng)的東西了。
思想:創(chuàng)建兩個(gè)鎖lockA和lockB。每次執(zhí)行完后,鎖掉自己的鎖,并釋放對(duì)方的鎖。
初始時(shí),若A先運(yùn)行,則釋放A的鎖,鎖住B的鎖。
以上這篇python 實(shí)現(xiàn)兩個(gè)線程交替執(zhí)行就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- 淺談Python3多線程之間的執(zhí)行順序問(wèn)題
- python多線程實(shí)現(xiàn)同時(shí)執(zhí)行兩個(gè)while循環(huán)的操作
- 使用Python paramiko模塊利用多線程實(shí)現(xiàn)ssh并發(fā)執(zhí)行操作
- 詳解Python 多線程 Timer定時(shí)器/延遲執(zhí)行、Event事件
- python實(shí)現(xiàn)多線程的方式及多條命令并發(fā)執(zhí)行
- python多線程方式執(zhí)行多個(gè)bat代碼
- python使用裝飾器和線程限制函數(shù)執(zhí)行時(shí)間的方法
- 改變 Python 中線程執(zhí)行順序的方法
相關(guān)文章
Python爬蟲(chóng)爬取博客實(shí)現(xiàn)可視化過(guò)程解析
這篇文章主要介紹了Python爬蟲(chóng)爬取博客實(shí)現(xiàn)可視化,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-06-06python抓取京東商城手機(jī)列表url實(shí)例代碼
python抓取京東商城手機(jī)列表url實(shí)例分享,大家參考使用吧2013-12-12使用Python腳本來(lái)控制Windows Azure的簡(jiǎn)單教程
這篇文章主要介紹了使用Python腳本來(lái)控制Windows Azure的簡(jiǎn)單教程,由于微軟官方提供了Python SDK,使得用戶自己用Python控制Azure成為了可能,需要的朋友可以參考下2015-04-04Python開(kāi)發(fā)企業(yè)微信機(jī)器人每天定時(shí)發(fā)消息實(shí)例
這篇文章主要介紹了Python開(kāi)發(fā)企業(yè)微信機(jī)器人每天定時(shí)發(fā)消息實(shí)例,需要的朋友可以參考下2020-03-03用Python編程實(shí)現(xiàn)語(yǔ)音控制電腦
是否經(jīng)常好萊塢電影里看強(qiáng)大的語(yǔ)音識(shí)別系統(tǒng)? 是否每每看到都會(huì)羨慕嫉妒恨? 可是我們真心買(mǎi)不起啊。2014-04-04Pytorch自己加載單通道圖片用作數(shù)據(jù)集訓(xùn)練的實(shí)例
今天小編就為大家分享一篇Pytorch自己加載單通道圖片用作數(shù)據(jù)集訓(xùn)練的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-01-01python uuid生成唯一id或str的最簡(jiǎn)單案例
這篇文章主要介紹了python uuid生成唯一id或str的最簡(jiǎn)單案例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-01-01Django 實(shí)現(xiàn)將圖片轉(zhuǎn)為Base64,然后使用json傳輸
這篇文章主要介紹了Django 實(shí)現(xiàn)將圖片轉(zhuǎn)為Base64,然后使用json傳輸,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-03-03