首页 > 代码库 > 创建线程池

创建线程池

#!/usr/bin/env python# -*- coding: utf-8 -*-import threadingimport queueimport timeclass ThreadPool:    def __init__(self, maxsize=5):        self.maxsize = maxsize        self._q = queue.Queue(self.maxsize)  # 创建队列,队列最大容量为5        for i in range(self.maxsize):            self._q.put(threading.Thread)  # 循环5次,在队列中放入5个线程类名    def get_thread(self):        return self._q.get()  # 获取队列中一个成员    def add_thread(self):        self._q.put(threading.Thread)  # 在队列中增加一个成员pool = ThreadPool()  # 实例化一个线程池def task(arg, p):  # 创建一个函数,函数调用线程池的add_thread方法    print(arg)    time.sleep(1)    p.add_thread()for i in range(100):    t = pool.get_thread()  # 从队列中获取一个类名 t()表示创建这个类的对象    obj = t(target=task, args=(i, pool))    obj.start()

  

创建线程池