python线程池
2018-12-13 本文已影响0人
QuantumCC
前段时间经常需要开多个线程完成任务,需要用到线程池,虽然Python自带了线程池的实现,但是有时候还是不太方便,后来看视频课的时候看到了一个基于队列的多线程生产者消费者模型,放到这里试验一下,可以在此基础上完成自己的线程池模块。
import threading
from queue import Queue
class DoRun(threading.Tread):
def __init__(self, queue):
threading.Thread.__init__(self)
self._queue = queue
def run(self):
while not self._queue.empty():
key = self._queue.get()
print(key)
def main():
threads = []
threads_count = 10
queue = Queue()
for i in range(100):
queue.put(i)
for i in range(threads_count):
threads.append(DoRun(queue))
for i in threads:
i.start()
for i in threads:
i.join()