结合 《python参考手册》第四版 中的实例,编写了以下有关queue的实例,已验证测试通过
#! /usr/bin/python
'''
Created on Apr 24, 2012
@author: stedy
'''
import threading
import time
from Queue import Queue
class workerThread(threading.Thread):
def __init__(self,*args,**kwargs):
threading.Thread.__init__(self,*args,**kwargs)
self.input_queue = Queue()
def send(self,item):
self.input_queue.put_nowait(item)
def close(self):
self.input_queue.put_nowait(None)
self.input_queue.join()
def run(self):
while True:
#time.sleep(3)
item = self.input_queue.get() # error:if replaced with self.input_queue.get_nowait()
if item is None:
print 'thread is closed'
break
print item
self.input_queue.task_done()
self.input_queue.task_done()
return
wt = workerThread()
wt.start()
wt.send("hello")
wt.send("a queue test")
wt.close()运行结果为:
hello
a queue test
thread is closed
本文介绍了一个基于 Python 的 Queue 模块使用示例,通过创建一个多线程环境来演示队列的基本操作,包括发送数据到队列及从队列中获取数据。
991

被折叠的 条评论
为什么被折叠?



