• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

皓敐

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

线程池的极简用法——内置线程池multiprocessing

大家好,今天博主来分享一个线程池的小捷径——内置线程池的使用方法

一、背景

  说道多线程,对变成层有了解的小伙伴一定不陌生,虽然不知道是什么但是也会从各大网站、面试分享等途径听说过。这里就不做过多的介绍了,简单来讲,多线程就是让人同时看书聊天听音乐跑步等等,一个时间点开始干不同的事情。

  接下来说一说本文重点——线程池。线程池是在多线程的基础上解放创建线程销毁线程的重复过程,将需要重复调用的线程放进池字里,用到了就直接取,提高了运行效率。

  那么当我们创建线程池的时候,我们需要自己定义一个类,然后在类中编写必要的函数,这样才能在主程序中进行使用。那么如果有一个现成的线程池供我们使用或继承,就能减少我们的代码量。

二、内置线程池

 这里我们需要先对内置线程池进行调用

from multiprocessing.pool import ThreadPool

调用完成后,我们就可以直接对我们需要创建的任务进行编写了,这里我们那task1和task2来举例。

第一步:设定线程池里的线程数量,这里设定2个线程

pool = ThreadPool(2)

第二步:为线程池添加任务,一个线程可添加一个任务(此时开启了任务提交工具,工具自带守护线程)

pool.apply_async(task1)
pool.apply_async(task2)

第三步:关闭提交(注意:提交完任务一定要关闭提交工具,否则会报错)

pool.close()

第四步:添加阻塞

pool.join()

到这里,内置线程池的使用方法就介绍完成了啦~

感谢阅读

end...

 

posted on 2022-03-21 17:25  皓敐  阅读(403)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3