python 的 threadpool 的处理函数输入 列表和字典当参数
2016-03-18 00:00
781 查看
摘要: python 的 threadpool
#threadpool的内部调用参数解析 result = request.callable(*request.args, **request.kwds) # coding:utf-8 import threadpool,time time_list=[] args_list1=range(1,11) #如果要输入元组做参数,必须把元组转换成下面的形式 args_list2=[(i,None) for i in zip(range(1,11),range(1,11))] print args_list2 [((1, 1), None), ((2, 2), None), ((3, 3), None), ((4, 4), None), ((5, 5), None), ((6, 6), None), ((7, 7), None), ((8, 8), None), ((9, 9), None), ((10, 10), None)] #如果如果要输入字典做参数,必须把字典转换成下面的形式 args_list3=[(None,{"a":1,"b":2}),(None,{"a":3,"c":4}),(None,{"a":5,"b":6})] #列表 def handle_func1(a): return a #元组 def handle_func2(*a,**b): return a #字典 def handle_func3(*a,**b): return b #回调函数,会把处理函数的结果当参数 def handle_func_callback(request,results): time_list.append(results) #创建连接池 ,最大连接数5 pool=threadpool.ThreadPool(5) #处理函数handle_func*,处理函数的参数args_list*,处理函数的回调函数handle_func_callback(可以没有) requests1=threadpool.makeRequests(handle_func1,args_list1,handle_func_callback) requests2=threadpool.makeRequests(handle_func2,args_list2,handle_func_callback) requests3=threadpool.makeRequests(handle_func3,args_list3,handle_func_callback) #是将所有要运行多线程的请求扔进线程池 [pool.putRequest(i) for i in requests1+requests2+requests3] #连接池挂起,第四行是等待所有的线程完成工作后退出 pool.wait() print time_list #[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9), (10, 10), {'a': 1, 'b': 2}, {'a': 3, 'c': 4}, {'a': 5, 'b': 6}] import urllib2 from multiprocessing.dummy import Pool as ThreadPool def handle_func1(a): return a pool = ThreadPool(4) #对range(11)的每一个数调用handle_func1,返回结果集 results = pool.map(handle_func1, range(11)) print results pool.close() pool.join()
相关文章推荐
- python 的SimpleXMLRPCServer,xmlrpclib
- python开发学习-day09(队列、多路IO阻塞、堡垒机模块、mysql操作模块)
- [python实现设计模式]-4.观察者模式-吃食啦!
- python 引用传递所致问题
- Python中的numpy
- Python中的numpy
- Python 文件目录操作
- Python基础--类
- Python基础--类
- 配置Sublime Text 3 的Anaconda编译环境
- python 多线程就这么简单
- python堡垒机
- Python prettytable模块
- Python简单的线程池
- PythonChallenge
- Python:简述 线程、进程和协程
- python
- 《跟着小吴哥学python》之 01 python初体验
- python 模块的加载
- Python最长公共子串和最长公共子序列的实现