关于python使用threadpool中的函数单个参数和多个参数用法举例
1.对单个元素的函数使用线程池:
# encoding:utf-8
__author__='xijun.gong'
import threadpool def func(name):
print 'hi {}\n'.format(name) if __name__ == '__main__':
data = ['xijun.gong', 'xijun', 'gxjun']
pool = threadpool.ThreadPool(5)
reqs = threadpool.makeRequests(func, data)
[pool.putRequest(req) for req in reqs]
pool.wait()
结果:
hi xijun.gong
hi xijun
hi gxjun
2.对于多个参数的情况使用方式:
# encoding:utf-8
__author__='xijun.gong'
import threadpool def func(name):
print 'hi {}\n'.format(name) def add(a,b):
print '{0}+{1}={2}'.format(a,b,(a+b))
if __name__ == '__main__':
data = [((index,i),None) for index,i in enumerate(range(1,10,2))]#(index,i)也可以写成[index,i]
pool = threadpool.ThreadPool(5)
reqs = threadpool.makeRequests(add, data)
[pool.putRequest(req) for req in reqs]
pool.wait()
结果:
0+1=1
1+3=4
3+7=10
2+5=7
4+9=13
3.如果我们想不安参数顺序赋值,可以使用这种方式:
# encoding:utf-8
__author__='xijun.gong'
import threadpool def func(name):
print 'hi {}\n'.format(name) def add(a,b):
print '{0}+{1}={2}'.format(a,b,(a+b))
if __name__ == '__main__':
data = [(None,{'b':index,'a':i}) for index,i in enumerate(range(1,10,2))]
pool = threadpool.ThreadPool(5)
reqs = threadpool.makeRequests(add, data)
[pool.putRequest(req) for req in reqs]
pool.wait()
结果:
1+0=1
3+1=4
5+2=7
7+3=10
9+4=13
关于python使用threadpool中的函数单个参数和多个参数用法举例的更多相关文章
- python开发_python中的函数定义
下面是我做的几个用列: #python中的函数定义,使用和传参 def_str = '''\ python中的函数以如下形式声明: def 函数名称([参数1,参数2,参数3......]): 执行语 ...
- python 在机器学习中应用函数
浅述python中argsort()函数的用法 (1).先定义一个array数据 1 import numpy as np 2 x=np.array([1,4,3,-1,6,9]) (2).现在我们可 ...
- python unittest框架中addCleanup函数详解
接上一篇doCleanups说明,这次介绍下另一个很好用的函数:addCleanup 还是老规矩,看官方文档说明: addCleanup(function, *args, **kwargs)¶ Add ...
- python 利用matplotlib中imshow()函数绘图
matplotlib 是python最著名的2D绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地进行制图.而且也可以方便地将它作为绘图控件,嵌入GUI应用程序中.通过简单的绘图语 ...
- (转)python类class中_init_函数以及参数self的简单解释
1)_init_函数(方法) #-*- encoding:utf-8 -*- class NewClass(object): def __init__(self,name): print self s ...
- python通过mongoengine中connect函数连接多个数据库
mongoengine支持程序同时连接多个数据库,这些数据库可以位于一个或多个mongo之中,通过alias名称区分不同的连接即可. 可以通过switch_db切换到不同的数据库,进行读写操作,swi ...
- python和numpy中sum()函数的异同
转载:https://blog.csdn.net/amuchena/article/details/89060798和https://www.runoob.com/python/python-func ...
- Python -- 使用模块中的函数
在确定自己不会导入多个同名函数(从不同模块导入)的情况下,你可能不希望在每次调用函数的时候,都要写上模块的名字.那么,可以使用import命令的另外一种形式: >>> from ma ...
- Hibernate中HQL函数汇总及获取当前时间进行比较举例
在很多时候,我们负责的项目中,在数据访问层(DAO层)通常我们会使用sql语句或者hql语句,而在我们使用hql语句拼接时有时会报错,通常的原因是:我们使用了标准的sql语句,开启的确是hiberna ...
随机推荐
- NPOI:处理xls文件中的合并行
/// <summary> /// NPOI根据路径获取文件转换成DataTable /// </summary> /// <param name="FileP ...
- Java SpringMVC 定时任务
1.web.xml 2.spring-mvc.xml <?xml version="1.0" encoding="UTF-8"?> <bean ...
- BCryptPasswordEncoder加密及判断密码是否相同
项目中用到了BCryptPasswordEncoder对密码进行二次加密,需要注意的是,加密后的字符串比较长,数据库的长度至少为60位. 通过BCryptPasswordEncoder的加密的相同字符 ...
- 商城项目回顾整理(二)easyUi数据表格使用
后台主页: 商品的数据表格展示 引入用户表数据表格展示 引入日志表数据表格展示 引入订单表数据表格展示 后台主页代码: <%@ page language="java" co ...
- xamarin android制作圆角边框
xamarin android制作圆角边框 效果图如下: 关键代码: drawable文件夹新建shape_corner_down.xml <?xml version="1.0&quo ...
- 限制ssh远程登陆
超过十次,就添加到hosts.deny里面去 #!/bin/bash date=`date +%Y%m%d` file="/var/log/secure" max=10 if [[ ...
- .NET使用存储过程实现对数据库的增删改查
一.整体思路 先建立存储过程,再通过.net 调用存储过程,来实现对表的增删改查. 二.新建数据库及存储过程 打开SqlServer2008,新建数据库orm1,及表Student. 数据库和表建立好 ...
- IT服务(运维)管理实施的几个要点--第二章 人员和组织架构
子曰"没有合适的人" 在流程化的管理模式下,最容易步入的一个误区是按流程设计一个"理想的"组织架构,然后对应于这个架构对人员进行评估.培养,甚至是更换.我见过很 ...
- css实现一行居中显示,两行靠左显示,超过两行以引号省略
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 三十天学不会TCP,UDP/IP网络编程-TraceRoute的哲学
新年快乐,继续来部分粘贴复制我的这一系列文章啦,如果对和程序员有关的计算机网络知识,和对计算机网络方面的编程有兴趣,欢迎去gitbook(https://www.gitbook.com/@rogerz ...