1. 程式人生 > >python 生產者和消費者模式

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()