這是一個使用python實現的線程池庫。python
pip install threadpool
http://gashero.yeax.com/?p=44 http://www.chrisarndt.de/projects/threadpool/
使用一個20個線程的線程池進行測試dom
import threadpool import time,random import Queue def hello1(str): time.sleep(2) return str def print_ret(request, result): print "the result is %s %r\n" % (request.requestID, result) def deal_task(pool): try: pool.poll(True) except Exception, e: print str(e) #lst = [1,2,3,4,5,6,7] q = Queue.Queue() for i in range(100): q.put(i) lst = [q.get() for i in range(q.qsize())] pool = threadpool.ThreadPool(20) requests = threadpool.makeRequests(hello1, lst, print_ret) for req in requests: pool.putRequest(req) #deal_task(pool) pool.wait()