python queue的一个实例

结合 《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

















你可能感兴趣的:(thread,python,测试,import)