Python大讲堂

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()
上一篇下一篇

猜你喜欢

热点阅读