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中的函数单个参数和多个参数用法举例的更多相关文章

  1. python开发_python中的函数定义

    下面是我做的几个用列: #python中的函数定义,使用和传参 def_str = '''\ python中的函数以如下形式声明: def 函数名称([参数1,参数2,参数3......]): 执行语 ...

  2. python 在机器学习中应用函数

    浅述python中argsort()函数的用法 (1).先定义一个array数据 1 import numpy as np 2 x=np.array([1,4,3,-1,6,9]) (2).现在我们可 ...

  3. python unittest框架中addCleanup函数详解

    接上一篇doCleanups说明,这次介绍下另一个很好用的函数:addCleanup 还是老规矩,看官方文档说明: addCleanup(function, *args, **kwargs)¶ Add ...

  4. python 利用matplotlib中imshow()函数绘图

    matplotlib 是python最著名的2D绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地进行制图.而且也可以方便地将它作为绘图控件,嵌入GUI应用程序中.通过简单的绘图语 ...

  5. (转)python类class中_init_函数以及参数self的简单解释

    1)_init_函数(方法) #-*- encoding:utf-8 -*- class NewClass(object): def __init__(self,name): print self s ...

  6. python通过mongoengine中connect函数连接多个数据库

    mongoengine支持程序同时连接多个数据库,这些数据库可以位于一个或多个mongo之中,通过alias名称区分不同的连接即可. 可以通过switch_db切换到不同的数据库,进行读写操作,swi ...

  7. python和numpy中sum()函数的异同

    转载:https://blog.csdn.net/amuchena/article/details/89060798和https://www.runoob.com/python/python-func ...

  8. Python -- 使用模块中的函数

    在确定自己不会导入多个同名函数(从不同模块导入)的情况下,你可能不希望在每次调用函数的时候,都要写上模块的名字.那么,可以使用import命令的另外一种形式: >>> from ma ...

  9. Hibernate中HQL函数汇总及获取当前时间进行比较举例

    在很多时候,我们负责的项目中,在数据访问层(DAO层)通常我们会使用sql语句或者hql语句,而在我们使用hql语句拼接时有时会报错,通常的原因是:我们使用了标准的sql语句,开启的确是hiberna ...

随机推荐

  1. Execution default of goal org.springframework.boot:spring-boot-maven-plugin:1.5.6.RELEASE:repackage failed: Unable to find main class

    异常 [INFO] --- spring-boot-maven-plugin:1.5.6.RELEASE:repackage (default) @ spring-boot-starter-log - ...

  2. Swagger文档添加file上传参数写法

    想在swagger ui的yaml文档里面写一个文件上传的接口,找了半天不知道怎么写,终于搜到了,如下: /tools/upload: post: tags: - "tool" s ...

  3. 关于postgres中的一些宏的tips

    Postgresql作为C语言开发的代码,其中大量的运用了一些宏的操作. 因此理解这些宏很重要,然而有时候这些宏总让人很费解. 作为一个经常翻翻postgresql源码的小白,在这里做一个记录吧,方便 ...

  4. WebApi的多版本管理

    1.多版本管理概念 什么是API的多版本问题?Android等App存在着多版本客户端共存的问题:由于早期没有内置升级机制,用户不会升级,拒绝升级等原因,造成了许多软件的旧版本App也在运行.开发新版 ...

  5. Aop介绍及几种实现方式

    Aop介绍      我们先看一下wiki百科的介绍     Traditional software development focuses on decomposing systems into ...

  6. iOS 数据加密方案

    iOS安全攻防(二十三):Objective-C代码混淆 提交用户的隐私数据 一定要使用POST请求提交用户的隐私数据GET请求的所有参数都直接暴露在URL中请求的URL一般会记录在服务器的访问日志中 ...

  7. 关于Qt Designer程序/UI文件打开未响应的解决方法

    最近完成一个项目,到最后关头用QtCreator无法打开UI文件,每次都未响应,用QtDesigner也无法启动 这个问题把我折磨了半天,最后才知道原来是要删除C:\Users\Administrat ...

  8. BGP网络学习总结

    1.前言     云计算在中国发展越来越快,企业逐步开始将业务迁移到公有云中,方便运维,节省成本.公有云最复杂的地方是网络,客户对网络的需求千奇百怪,造成网络环境极其复杂,稍有不慎,就会出现网络连通性 ...

  9. [Find the last digit when factorial of A divides factorial of B]

    Given two numbers A and B. The task is to compute the last digit of the resulting F, where F= B! / A ...

  10. Nodejs密集型CPU解决方案

    首先说一下nodejs单线程的优势: 高性能,与php相比,避免了频繁创建切换线程的开销,执行更加迅速,资源占用小. 线程安全,不用担心同一变量被多线程读写,造成程序崩溃. 单线程的异步和非阻塞,其实 ...