91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python線程中Condition的原理分析

發布時間:2021-06-25 09:12:36 來源:億速云 閱讀:140 作者:小新 欄目:編程語言

這篇文章主要介紹了python線程中Condition的原理分析,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

原理分析

1、Python條件變量Condition需要關聯互斥鎖,同時Condition本身提供了wait、notify、notifyAll方法。

2、用于阻塞、通知其他并行線程,可以訪問共享資源。

Condition提供了一種多線程通信機制。如果線程1需要數據,線程1會堵塞等待,然后線程2會制造數據。線程2制造數據后,通知線程1可以獲取數據,然后線程1會獲取數據。

實例

# !usr/bin/env python
# -*- coding:utf-8 _*-
# 導入線程模塊
import threading
 
# 創建條件變量condition
con = threading.Condition()
 
def thread_one(name):
    # 條件變量condition 線程上鎖
    con.acquire()
 
    print("{}:成語接龍準備好了嗎".format(name))
    # 喚醒正在等待(wait)的線程
    con.notify()
 
    # 等待對方回應消息,使用wait阻塞線程,等待對方通過notify喚醒本線程
    con.wait()
    print("{}:一干二凈".format(name))
    # 喚醒對方
    con.notify()
 
    # 等待消息答應
    con.wait()
    print("{}:一天就知道看抖音美女,給你來個簡單點的,來了:毛手毛腳".format(name))
    # 喚醒對方
    con.notify()
 
    # 等待消息答應
    con.wait()
    print("{}:喲喲喲,不錯不錯!".format(name))
    # 喚醒對方
    con.notify()
 
    # 條件變量condition 線程釋放鎖
    con.release()
 
def thread_two(name):
    # 條件變量condition 線程上鎖
    con.acquire()
 
    # wait阻塞狀態,等待其他線程通過notify喚醒本線程
    con.wait()
    print("{}:準備好了~開始吧!".format(name))
    # 喚醒對方
    con.notify()
 
    # 等待消息答應
    con.wait()
    print("{}:凈你妹啊,沒法接...來個簡單點的...".format(name))
    # 喚醒對方
    con.notify()
 
    # 等待消息答應
    con.wait()
    print("{}:嘿,這個我知道:腳踏實地".format(name))
    # 喚醒對方
    con.notify()
 
    con.release()
 
if __name__ == "__main__":
 
    # 創建并初始化線程
    t1 = threading.Thread(target=thread_one,args=("A"))
    t2 = threading.Thread(target=thread_two,args=("B"))
 
    # 啟動線程 -- 注意線程啟動順序,啟動順序很重要
    t2.start()
    t1.start()
 
    # 阻塞主線程,等待子線程結束
    t1.join()
    t2.join()
 
 
    print("程序結束!")
 
 
'''
輸出結果:
 
A:成語接龍準備好了嗎
B:準備好了~開始吧!
A:一干二凈
B:凈你妹啊,沒法接...來個簡單點的...
A:一天就知道看抖音美女,給你來個簡單點的,來了:毛手毛腳
B:嘿,這個我知道:腳踏實地
A:喲喲喲,不錯不錯!
程序結束!
'''

感謝你能夠認真閱讀完這篇文章,希望小編分享的“python線程中Condition的原理分析”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

永济市| 吕梁市| 射洪县| 浦东新区| 洛阳市| 海阳市| 宁德市| 昭苏县| 汝南县| 阳原县| 自贡市| 体育| 吉水县| 天柱县| 桐乡市| 蓬溪县| 米泉市| 隆林| 兴国县| 会同县| 黄平县| 尖扎县| 布尔津县| 高清| 牙克石市| 凌海市| 宁德市| 巴彦淖尔市| 乡宁县| 北辰区| 本溪| 汕头市| 友谊县| 乌恰县| 隆昌县| 通化县| 吉隆县| 青浦区| 梁河县| 福鼎市| 平果县|