Queue在Python中可以算作是一种容器,但是他和list,set,dict不一样。

1. Queue不是Python内置类型。它在Queue模块中定义。

2. 它不是iterator容器,他不能使用for... in...语法进行遍历。(没有next方法),只能使用put,get进行存取包含的值。

3.它是线程安全的。可以在多线程环境下安全使用。(进程安全级别的Queue,需要使用multiprocessing.Queue。两者方法都是一致的)

好了上代码:

from Queue import Queue
from threading import Thread
def worker():
    while True:
        item = q.get()
        print(item)
        q.task_done() #

q = Queue()
num_worker_threads = 4
for i in range(num_worker_threads):
     t = Thread(target=worker)
     t.daemon = True
     t.start()

for item in range(30):
    q.put(item)

q.join()       # block until all tasks are done

 

posted on 2014-09-24 00:02  tom_zhao_vip  阅读(168)  评论(0编辑  收藏  举报