【发布时间】:2018-09-03 09:33:37
【问题描述】:
我只是在玩线程,看看它们消耗了多少 CPU。我检查了两种情况。
- 在第一个场景中,我创建了四个线程并以无限循环启动它们。很快,这些线程消耗了我所有的 4 个 CPU 内核。在任务管理器中查看性能监视器后,我发现 CPU 消耗为 100%。
- 在第二种情况下,当我尝试使用 Web 应用程序和 rest 控制器(使用 tomcat 服务器 8.5 版本)时,我运行了无限循环。因此,如果我使用浏览器请求 url 4 次(显然使用不同的选项卡)。我的 CPU 消耗应该是 100%。我看不到 100% 的 CPU 消耗。
为什么会有差异?
我的第二个问题是:我将如何调整服务器线程池。我必须使用超过 4 个线程,因为它们中可能很少有人在等待 IO 操作。我使用休眠作为维护连接池的 ORM。那么我应该在线程池和连接池中使用多少个线程。我将如何决定?
【问题讨论】:
标签: multithreading server tomcat8