python 生产者和消费者模式

简单的代码理解 python中 生产者和消费者模式

#encoding: utf-8

from Queue import Queue

import time

import threading

#生产者消费者模式是线程间通信的一种应用

#在使用数据结构的时候确定是否是线程安全,Queue本身是线程安全的

#list([]) Dict({}) 都不是线程安全的

def set_value(q):

index = 0

while True:

q.put(index)

index += 1

q.put(index)

index += 1

time.sleep(2)

def get_value(q):

while True:

print("消费者获取数据",q.get()) #如果队列为空,get()方法会sleep,直到队列有数据

def main():

q = Queue(8)

t1 = threading.Thread(target=set_value,args=[q])

t2 = threading.Thread(target=get_value,args=[q])

t1.start()

t2.start()

if __name__ == '__main__':

main()

python 生产者和消费者模式

相关推荐