文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

python 多线程模块threadpo

2023-01-31 02:19

关注

  python实现线程池通常使用threading或thread模块来编写,现在已经有了threadpool模块来实现线程池。

英文文档见:http://www.chrisarndt.de/projects/threadpool/

中文文档见:http://gashero.yeax.com/?p=44

现给出一个简易的使用threadpool模块来实现线程池的例子:

 

# -*-coding:utf-8-*-
__author__ = 'magicpwn'
import threadpool
import time, random
# worker 工作函数【多线程中每个线程工作的函数】
def worker_get(str):
    return str
# 回调函数,接受的参数(请求本身,和请求工作函数执行结果)可以省略
def print_result(request, result):
    print "the result is %s %r" % (request.requestID, result)
# data 设置为有20个随机1-10间的整数的列表,(列表中每一个数作为参数传递给工作函数运行一次)
data = [random.randint(1,10) for i in range(20)]
# 声明可容纳五个线程的池
pool = threadpool.ThreadPool(5)
# 创建线程运行内容请求列表(线程工作函数,线程工作参数列表,回调函数)
requests = threadpool.makeRequests(worker_get, data, print_result)
# 将每一个线程请求扔进线程池
[pool.putRequest(req) for req in requests]
# 等待data被消耗完,所有线程运行结束。
pool.wait()

上面的程序用pool.size个线程运行worker_get函数,处理了data.size个数据处理请求。 

本文出自 “Get and Share” 博客,请务必保留此出处http://dgfpeak.blog.51cto.com/195468/861994


阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯