自定义简单版本python线程池

2018-11-20 03:26:21来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

python未提供线程池模块,在python3上用threading和queue模块自定义简单线程池,代码如下:

 1 #用threading queue 做线程池
 2 import queue
 3 import threading
 4 class ThreadPool():
 5     def __init__(self,arg):#创建队列,在队列每个位置放一个threading.Tread类
 6         self.queue_obj = queue.Queue(arg)
 7         for i in range(arg):
 8             self.queue_obj.put(threading.Thread)
 9     def thread_get(self):#执行这个方法后把得到的类threading.Tread返回
10         return self.queue_obj.get()
11     def thread_add(self):#把threading.Tread类放到队列
12         self.queue_obj.put(threading.Thread)
13 def func(b,a):
14     b.thread_add() #用函数执行ThreadPool类里的thread_add方法
15     print(a)
16 
17 threading_pool = ThreadPool(5) #创建队列为5的线程池,每个位置放一个threading.Thread
18 thread = threading_pool.thread_get() #threading.Thread
19 thread_obj = thread(target=func,args=(threading_pool,11,)) #创建线程,把threading_pool和11传给func函数,达到用线程处理数据并且把threading.Thread类放到队列
20 thread_obj.start()#执行线程
自定义简单线程池

 

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Python学习手册之控制结构(二)

下一篇:模块语法