成都网站建设设计

将想法与焦点和您一起共享

Python的条件锁与事件共享详解-创新互联

1:事件机制共享队列:

创新互联专注于芒康网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供芒康营销型网站建设,芒康网站制作、芒康网页设计、芒康网站官网定制、重庆小程序开发公司服务,打造芒康网络公司原创品牌,更为您提供芒康网站排名全网营销落地服务。

利用消息机制在两个队列中,通过传递消息,实现可以控制的生产者消费者问题


要求:readthread读时,writethread不能写;writethread写时,readthread不能读。


基本方法 时间类(Event)


set:设置事件。将标志位设为True。


wait:等待事件。会将当前线程阻塞,直到标志位变为True。


clear:清除事件。将标志位设为False。


set() clear() 函数的交替执行 也就是消息传递的本质

模版:


基本code
# 事件消息机制
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的条件锁与事件共享详解-创新互联
文章起源:http://chengdu.cdxwcx.cn/article/dchsgh.html