新聞中心
這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Python的條件鎖與事件共享詳解-創(chuàng)新互聯(lián)
1:事件機(jī)制共享隊(duì)列:

利用消息機(jī)制在兩個隊(duì)列中,通過傳遞消息,實(shí)現(xiàn)可以控制的生產(chǎn)者消費(fèi)者問題
要求:readthread讀時,writethread不能寫;writethread寫時,readthread不能讀。
基本方法 時間類(Event)
set:設(shè)置事件。將標(biāo)志位設(shè)為True。
wait:等待事件。會將當(dāng)前線程阻塞,直到標(biāo)志位變?yōu)門rue。
clear:清除事件。將標(biāo)志位設(shè)為False。
set() clear() 函數(shù)的交替執(zhí)行 也就是消息傳遞的本質(zhì)
模版:
基本code
# 事件消息機(jī)制
import queue
import threading
import random
from threading import Event
from threading import Thread
class WriteThread(Thread):
def __init__(self,q,wt,rt):
super().__init__();
self.queue=q;
self.rt=rt;
self.wt=wt;
def run(self):
self.rt.set()
self.wt.wait();
self.wt.clear();
class ReadThread(Thread):
def __init__(self,q,wt,rt):
super().__init__();
self.queue=q;
self.rt=rt;
self.wt=wt;
def run(self):
while True:
self.rt.wait();
self.wt.wait();
self.wt.clear() 文章名稱:Python的條件鎖與事件共享詳解-創(chuàng)新互聯(lián)
瀏覽地址:http://www.dlmjj.cn/article/dchsgh.html


咨詢
建站咨詢
