码迷,mamicode.com
首页 > 编程语言 > 详细

创建线程池

时间:2016-09-26 15:58:42      阅读:173      评论:0      收藏:0      [点我收藏+]

标签:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import threading
import queue
import time


class 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()

  

创建线程池

标签:

原文地址:http://www.cnblogs.com/terrycy/p/5909178.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!