前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >4.线程池与进程池

4.线程池与进程池

原创
作者头像
jiagui
发布2024-07-06 17:25:08
1010
发布2024-07-06 17:25:08
举报
文章被收录于专栏:Python多线程

通过前面几个小结内容,我们了解了多线程与多进程的执行效率的巨大提升,前面的例子我们都是手动实例化几个线程对象t=Thread(),假设我们要创建100多个线程,总不能用t0=Thread一直到t99=Thread吧,此时我们需要借助线程池或进程池。

线程池:即系统一次性开辟一些线程,用户直接给线程池提交任务,线程任务的调度交给线程池来完成。进程池与之类似。

线程池的示例

代码语言:Python
复制
from concurrent.futures import ThreadPoolExecutor
 
 
def function(name):
    for i in range(10):
        print(name, i)
 
 
if __name__ == '__main__':
    # 创建线程池
    with ThreadPoolExecutor(50) as t:
        for i in range(100):
            t.submit(function, name=f"主线程{i}")
    # 等待线程池中的任务全部执行完毕. 才继续执行
    print("完毕")

我们通过submit提交线程,提交到有50个线程容量的线程池,每次循环提交一个输出100个数字的线程。等待线程池所有任务结束后再打印主函数后面的“完毕”。进程池的创建和线程池一样,只不过把程序中多线程类库ThreadPoolExecutor改成多进程类库ProcessPoolExecutor即可。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 线程池的示例
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档