多线程threadpool.makeRequests

博客探讨了在使用Python进行多进程和多线程编程时遇到的'cannot start new thread'错误。作者创建了10个进程,每个进程内部再开启10个线程,怀疑是线程数超过系统限制导致的问题。代码示例中使用了`threadpool`库来管理线程池,并展示了如何发起请求。尽管机器性能理论上能承受这种开销,但实际运行中仍出现了问题。
摘要由CSDN通过智能技术生成

这是我复制过来的一段代码,用法应属正确无误,未经过严谨测试。曾遇到过系统错误:can not start new thread。怀疑是某种情况导致开启线程数过大 。

(在我的脚本中开启了10个进程,每个进程再开10个线程,按说机器性能应该不会在10x10的情况下导致线程数过多)


#-*- coding:utf-8 -*-
 

import threadpool
import dict_down #调用:https://blog.csdn.net/meizhen51/article/details/79861796
 
task_pool = threadpool.ThreadPool(5)
 
#同时下载多个词典
def get_dict_more(keys=[]):
    if len(keys) == 0:
        return
    req_list = threadpool.makeRequests(dict_down.get_dict,keys)
    for req in req_list:
        task_pool.putRequest(req)
        print(req)
    task_pool.wait()
 
if __name__ == '__main__':
    get_dict_more(keys=['论语','曾子','子思子','孝经','孟子','荀子','老子','庄子','文子'])
————————————————
版权声明:本文为CSDN博主「海岸丽归」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/meizhen51/article/details/79935576

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值