多线程实例1

来源:互联网 发布:vb怎么添加下拉菜单 编辑:程序博客网 时间:2024/06/03 15:52
#!usr/bin/env python#coding=utf-8import threadingimport Queuenumber_list = list(range(1,10001))class mythread(threading.Thread):    def __init__(self,ID,work_queue,work_dic):        threading.Thread.__init__(self)        self.id = ID        self.work_queue = work_queue        self.work_dic = work_dic    def run(self):        while True:            try:                word = self.work_queue.get()                self.work_dic[self.id] = self.work_dic.get(self.id,0) + 1                print(("线程%d获得数字%d" % (self.id,word)).decode("utf-8"))            finally:                self.work_queue.task_done()def main():    work_dic = {}    work_queue = Queue.Queue()    for i in range(10):        worker = mythread(i,work_queue,work_dic)        worker.daemon = True        worker.start()    for number in number_list:        work_queue.put(number)    work_queue.join()    print(work_dic)if __name__ == '__main__':    main()

0 0