python多线程实现生产者消费者_用Python实现多线程“生产者-消费者”模型的简单例子...
用
Python
實(shí)現(xiàn)多線程“生產(chǎn)者
-
消費(fèi)者”模型的簡(jiǎn)單例子
生產(chǎn)者消費(fèi)者問(wèn)題是一個(gè)著名的線程同步問(wèn)題,
該問(wèn)題描述如下:
有一個(gè)生產(chǎn)者在生產(chǎn)產(chǎn)品,
這些產(chǎn)品將提供給若干個(gè)消費(fèi)者去消費(fèi),
為了使生產(chǎn)者和消費(fèi)者能并發(fā)執(zhí)行,
在兩者之間設(shè)
置一個(gè)具有多個(gè)緩沖區(qū)的緩沖池,
生產(chǎn)者將它生產(chǎn)的產(chǎn)品放入一個(gè)緩沖區(qū)中,
消費(fèi)者可以從
緩沖區(qū)中取走產(chǎn)品進(jìn)行消費(fèi),
顯然生產(chǎn)者和消費(fèi)者之間必須保持同步,
即不允許消費(fèi)者到一
個(gè)空的緩沖區(qū)中取產(chǎn)品,也不允許生產(chǎn)者向一個(gè)已經(jīng)放入產(chǎn)品的緩沖區(qū)中再次投放產(chǎn)品。
#?-*-?coding:?gbk?-*-
import?threading,?time
milk?=?0
pool_size?=?100?#
池的大小
mylock?=
threading.RLock()
class?producer(threading.Thread):
"""
生產(chǎn)者,主要的業(yè)務(wù)邏輯為
往池中加入
milk
,以備消費(fèi)者使用
"""
def?__init__(self,?step,?theadName):
threading.Thread.__init__(self)
self.step?=?step
self.isRunable?=?True
self.threadName?=
theadName
def?run(self):
總結(jié)
以上是生活随笔為你收集整理的python多线程实现生产者消费者_用Python实现多线程“生产者-消费者”模型的简单例子...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: spring aop实例讲解_小实例理解
- 下一篇: 垃圾自动分拣系统python代码_Rob