JAVA线程池应该在哪里创建?

发布于 2022-09-07 19:42:26 字数 68 浏览 14 评论 0

问题描述

JAVA线程池应该在哪里创建?又或者说 一个线程池用于一个业务,还是多个业务,还是整个项目

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

无声静候 2022-09-14 19:42:26

你问的这个问题太抽象了,不太清楚你的困惑在哪。

一个线程池可以用于一个业务,也可以用于多个业务,需要根据具体的场景分析。跟项目就完全没关系了,项目是软件建设过程概念,你的一个软件系统需要几个线程池完全取决于你的业务场景。

举个例子,Web服务器通常会有一个线程池用来处理http请求,这是单一业务场景,某个系统有一个固定大小的线程池,这个线程池里面定时运行若干任务,处理不同业务,这是多业务场景。

甜嗑 2022-09-14 19:42:26

线程池一般跟着项目走,在项目启动的时候创建。比如servlet初始化的时候初始化一个全局的线程池

¢好甜 2022-09-14 19:42:26

忘记在哪本书看到过,线程池应该是针对整个项目,而不是单个业务。
为什么这么说呢?线程池面向的是什么?是CPU啊。。无论如何,CPU就能处理那么多事情。

----------------下面实我自己想的-------------------

但,也不是绝对化。比如两个业务,一个业务处理需要1ms,另外一个需要1h,如果线程池中前面部分全部被1h的任务塞满,1ms没机会执行,这不是就尴尬了,虽然也有很多机制去避免这种情况,但那又是他话了。
所以,绝对用同一个线程池,也是有点问题了。
以上纯属瞎猜,错了别怪我,哈哈。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文