
Python3 -threadpool多线程多个参数传入示例
发布日期:2021-05-07 19:16:32
浏览次数:52
分类:精选文章
本文共 939 字,大约阅读时间需要 3 分钟。
threadpool模块:一个替代multiprocessing的老旧实现
在Python世界中,threadpool模块曾经是处理多线程任务的重要工具。尽管如今建议使用multiprocessing替代它,但它的简洁性依然吸引了一部分开发者。
使用threadpool实现多线程只需几行代码:
from threadpool import ThreadPoolpool = ThreadPool(poolsize)requests = makeRequests(some_callable, list_of_args, callback)[pool.putRequest(req) for req in requests]pool.wait()
它通过传入参数组来实现多线程,并且保证了执行顺序,参数顺序与传入时一致。
参数传递示例:
def hello(m, n, o): print("m = %s, n = %s, o = %s" % (m, n, o)) if __name__ == '__main__': # 方法一 lst_vars_1 = ['1', '2', '3'] lst_vars_2 = ['4', '5', '6'] func_var = [(lst_vars_1, None), (lst_vars_2, None)] # 方法二 dict_vars_1 = {'m':'1', 'n':'2', 'o':'3'} dict_vars_2 = {'m':'4', 'n':'5', 'o':'6'} func_var = [(None, dict_vars_1), (None, dict_vars_2)] pool = threadpool.ThreadPool(2) requests = threadpool.makeRequests(hello, func_var) [pool.putRequest(req) for req in requests] pool.wait()
通过以上代码,可以轻松实现多线程任务,参数传递过程简洁高效。
发表评论
最新留言
初次前来,多多关照!
[***.217.46.12]2025年04月09日 14时26分02秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
C语言指针收藏
2019-03-06
C#搞个跨平台的桌面NES游戏模拟器
2019-03-06
手把手教你安装Eclipse最新版本的详细教程 (非常详细,非常实用)
2019-03-06
《带你装B,带你飞》pytest成魔之路4 - fixture 之大解剖
2019-03-06
互联网App应用程序测试流程及测试总结
2019-03-06
根据轨迹分析出用户家在哪
2019-03-06
PostgreSQL查询表名称及表结构
2019-03-06
linux中使用awk命令
2019-03-06
如何使用google搜索?
2019-03-06
Redis分布式锁的正确实现方式
2019-03-06
设计模式-抽象工厂模式
2019-03-06
IntelliJ IDEA 中,项目文件右键菜单没有svn选项解决办法
2019-03-06
IDEA 调试Java代码的两个技巧
2019-03-06
Vue 数组和对象更新,但视图未更新,背后的故事
2019-03-06
剑指Offer面试题:9.二进制中1的个数
2019-03-06
《你是在做牛做马还是在做主管》- 读书笔记
2019-03-06
重新温习软件设计之路(4)
2019-03-06
MySQL数据库与python交互
2019-03-06
python如何对字符串进行html转义与反转义?
2019-03-06