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

皓敐

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

公告

View Post

线程池开关与搭建的那些事

博主今天在练习的时候遇到了一个问题:

自己搭建的线程池在运行到 join 阻塞方法中就卡着不动了,而在这之前的代码都可以运行成功。如图:

 

 要说如果报了个错,我还能有地方使劲,这直接卡在这里,就让我优点难搞。

经过博主反复排查,竟然是自己搭建的线程没有开启,怪不得创建完的超线程还可以正常往里面放任务。

在这里,就顺别总结一下线程池的搭建思路吧,帮助大家避免没有开启线程的低级错误:

第一步:定义一个类,用于构建线程池的基本框架

第二部:创建可以传一个参数n的init魔法方法,随后创建一个队列,随后利用for循环创建一个可以控制线程数的线程并设置守护线程(这里一定要在在创建线程后直接开启线程)

第三步:在类里面重新定义一下内容为put和join方法的函数,这里不仅是为了方便后续使用时调用方便,还是因为队列被定义在类里了,无法在类之外调用这个队列。(此时类的设置完成啦)

第四部:创建任务(函数),注意这个函数不是在类里面的

第五部:编写主程序,通过 创建线程数量>添加任务>设置阻塞 的步骤完成具体线程的创建

以上就是今天的分享啦~

感谢大家阅读

end...

posted on 2022-03-20 09:58  皓敐  阅读(193)  评论(0)    收藏  举报

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