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

python多線程高級鎖condition簡單用法示例

 更新時間:2019年11月07日 08:44:58   作者:weixin_42359464  
這篇文章主要介紹了python多線程高級鎖condition簡單用法,結(jié)合實例形式分析了condition對象常用方法及相關(guān)使用技巧,需要的朋友可以參考下

本文實例講述了python多線程高級鎖condition簡單用法。分享給大家供大家參考,具體如下:

多線程編程中如果使用Condition對象代替lock, 能夠?qū)崿F(xiàn)在某個事件觸發(fā)后才處理數(shù)據(jù), condition中含有的方法:

  • - wait:線程掛起,收到notify通知后繼續(xù)運行
  • - notify:通知其他線程, 解除其它線程的wai狀態(tài)
  • - notifyAll(): 通知所有線程
  • - acquire和release: 獲得鎖和解除鎖, 與lock類似,
  • - enter和exit使得對象支持上下文操作:
  def __enter__(self):
    return self._lock.__enter__()
  def __exit__(self, *args):
    return self._lock.__exit__(*args)

代碼:

import threading
from threading import Condition
# condition
class XiaoAi(threading.Thread):
  def __init__(self, cond):
    self.cond = cond
    super().__init__(name="xiaoai")
  def run(self):
    self.cond.acquire()
    self.cond.wait()
    print('{}:ennn. '.format(self.name))
    self.cond.notify()
    self.cond.wait()
    print('{}:好嗒. '.format(self.name))
    self.cond.release()
class TianMao(threading.Thread):
  def __init__(self, cond):
    super().__init__(name="tiaomao")
    self.cond = cond
  def run(self):
    self.cond.acquire()
    print('{}:hello ~ xiaoai. '.format(self.name))
    self.cond.notify()
    self.cond.wait()
    print('{}:我們來念一首詩吧! . '.format(self.name))
    self.cond.notify()
    self.cond.release()
if __name__ == '__main__':
  condition = Condition()
  xiaoai = XiaoAi(condition)
  tianmao = TianMao(condition)
  # 啟動順序很重要
  xiaoai.start()
  tianmao.start()

打印結(jié)果:

tiaomao:hello ~ xiaoai.
xiaoai:ennn.
tiaomao:我們來念一首詩吧! .
xiaoai:好嗒

總結(jié):

這個比較雞肋

更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python進程與線程操作技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python入門與進階經(jīng)典教程》、《Python+MySQL數(shù)據(jù)庫程序設(shè)計入門教程》及《Python常見數(shù)據(jù)庫操作技巧匯總

希望本文所述對大家Python程序設(shè)計有所幫助。

相關(guān)文章

  • python UIAutomator2使用超詳細教程

    python UIAutomator2使用超詳細教程

    這篇文章主要介紹了python UIAutomator2使用超詳細教程,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-02-02
  • python實現(xiàn)凱撒密碼

    python實現(xiàn)凱撒密碼

    這篇文章主要為大家詳細介紹了python實現(xiàn)凱撒密碼,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-04-04
  • Python把excel文件數(shù)據(jù)轉(zhuǎn)化為字典格式存儲詳解

    Python把excel文件數(shù)據(jù)轉(zhuǎn)化為字典格式存儲詳解

    這篇文章主要介紹了Python把excel文件數(shù)據(jù)轉(zhuǎn)化為字典格式存儲詳解,在Python中有時候需要操作excel表格的數(shù)據(jù),把excel表格轉(zhuǎn)化為字典存起來,方便讀取,今天我們就來看看如何轉(zhuǎn)換,需要的朋友可以參考下
    2023-08-08
  • Python爬取當當、京東、亞馬遜圖書信息代碼實例

    Python爬取當當、京東、亞馬遜圖書信息代碼實例

    這篇文章主要介紹了Python爬取當當、京東、亞馬遜圖書信息代碼實例,具有一定借鑒價值,需要的朋友可以參考下。
    2017-12-12
  • Python?ArcPy實現(xiàn)批量拼接長時間序列柵格圖像

    Python?ArcPy實現(xiàn)批量拼接長時間序列柵格圖像

    這篇文章主要介紹了如何基于Python中ArcPy模塊,對大量不同時相的柵格遙感影像按照其成像時間依次執(zhí)行批量拼接的方法,感興趣的可以了解一下
    2023-03-03
  • 舉例詳解Python中threading模塊的幾個常用方法

    舉例詳解Python中threading模塊的幾個常用方法

    這篇文章主要介紹了舉例詳解Python中threading模塊的幾個常用方法,threading模塊用來創(chuàng)建和操作線程,是Python學習當中的重要知識,需要的朋友可以參考下
    2015-06-06
  • 通過實例解析Python return運行原理

    通過實例解析Python return運行原理

    這篇文章主要介紹了通過實例解析Python return運行原理,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-03-03
  • PyQt5每天必學之事件與信號

    PyQt5每天必學之事件與信號

    這篇文章主要為大家詳細介紹了PyQt5每天必學之事件與信號的相關(guān)資料,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-04-04
  • 在Python中pandas.DataFrame重置索引名稱的實例

    在Python中pandas.DataFrame重置索引名稱的實例

    今天小編就為大家分享一篇在Python中pandas.DataFrame重置索引名稱的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-11-11
  • Django框架登錄加上驗證碼校驗實現(xiàn)驗證功能示例

    Django框架登錄加上驗證碼校驗實現(xiàn)驗證功能示例

    這篇文章主要介紹了Django框架登錄加上驗證碼校驗實現(xiàn)驗證功能,結(jié)合實例形式分析了Django框架基于Pillow模塊的圖形驗證碼生成與使用相關(guān)操作技巧,需要的朋友可以參考下
    2019-05-05

最新評論