博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python 的 threadpool 的处理函数输入 列表和字典当参数
阅读量:5774 次
发布时间:2019-06-18

本文共 1641 字,大约阅读时间需要 5 分钟。

hot3.png

#threadpool的内部调用参数解析result = request.callable(*request.args, **request.kwds)# coding:utf-8import threadpool,timetime_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)#创建连接池 ,最大连接数5pool=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 urllib2from multiprocessing.dummy import Pool as ThreadPooldef handle_func1(a):  return apool = ThreadPool(4)#对range(11)的每一个数调用handle_func1,返回结果集results = pool.map(handle_func1, range(11))print resultspool.close()pool.join()

转载于:https://my.oschina.net/u/1458120/blog/640046

你可能感兴趣的文章
STM32 mdk软件仿真时过不去时钟的问题
查看>>
(转)让Spring自动扫描和管理Bean
查看>>
Spark Streaming概念学习系列之Spark Streaming容错
查看>>
Windows Server 2003 用户账户的密码和用户配置文件
查看>>
单例模式
查看>>
使用Nginx反向代理 让IIS和Tomcat等多个站点一起飞
查看>>
老旧的金融机构,是时候赶赶云计算的时髦了
查看>>
晶澳向埃及11MW混合发电项目供应光伏组件
查看>>
国产x86 CPU性能达Intel的80%?
查看>>
用友网络陈强兵:企业互联网需解决五大问题
查看>>
SMA推出Powerwall兼容Sunny Boy Storage逆变器
查看>>
云路由 vyatta 体验(二)NAT
查看>>
C++、Java、JavaScript中迭代器的用法
查看>>
jackson not marked as ignorable异常
查看>>
Python version 2.7 required, which was not foun...
查看>>
android 模拟器 横竖屏切换
查看>>
centos7.3 下安装 composer,解决Failed to decode zlib stream错误
查看>>
Git 常用命令
查看>>
在Postgres 数据库中生成36位的UUID代码
查看>>
小黑小波比.功能测试登录用户
查看>>