多线程和队列

2019-12-19  本文已影响0人  非鱼2018
import threading
import queue,time


def print_list(i):
    print(i,end='')
    time.sleep(2)

datas=['a','b','c','d','e','f']
class myThread(threading.Thread):
    def __init__(self,queue,num):
        threading.Thread.__init__(self)
        self.q=queue
        self.num=num
        #self.lock=lock
    def run(self):
        while 1:
            item=self.q.get()
            if item is None:
                print('取数完毕!')
                break
            print_list(datas[item])
            self.q.task_done()

q=queue.Queue(0)
# 启动3个线程
for i in range(3):
    myThread(q,i).start()
for i in range(len(datas)):
    q.put(i)
for i in range(3):
    q.put(None)



上一篇 下一篇

猜你喜欢

热点阅读