建设银行网站查询不显示整存争取金额,深圳注册公司在什么网站,微网站首页模板,免费企业邮箱登录入口为什么会使用多线程创建多少线程比较合适结束语《Java 2019 超神之路》《Dubbo 实现原理与源码解析 —— 精品合集》《Spring 实现原理与源码解析 —— 精品合集》《MyBatis 实现原理与源码解析 —— 精品合集》《Spring MVC 实现原理与源码解析 —— 精品合集》《Spring Boot …为什么会使用多线程创建多少线程比较合适结束语《Java 2019 超神之路》《Dubbo 实现原理与源码解析 —— 精品合集》《Spring 实现原理与源码解析 —— 精品合集》《MyBatis 实现原理与源码解析 —— 精品合集》《Spring MVC 实现原理与源码解析 —— 精品合集》《Spring Boot 实现原理与源码解析 —— 精品合集》《数据库实体设计合集》《Java 面试题 —— 精品合集》《Java 学习指南 —— 精品合集》在设置线程池线程个数的时候经常会想到这个问题是不是设置的线程数越多越好理解这个问题之前我们要先清楚的知道我们为什么使用多线程。为什么会使用多线程使用多线程的主要目的我们应该都能回答的出来就是提高程序的性能这个提高性能其实是指,降低延迟 指发送请求到接收到数据的时间和 提搞吞吐量单位时间能可以处理更多的请求。将近延迟和提高吞吐量对应的方法有两种: 优化算法和机器的硬件性能发挥到极致。优化算法降低时间和空间复杂度使的程序执行时间更短。硬件的性能发挥到极致具体的指提高 I/O 和 cpu 的利用率如何提高 I/O 和 cpu 的利用率的举例如果单核系统中只有一个程序执行又有 IO 操作和 Cpu 计算的代码当程序执行 IO 操作的时候Cpu 其实是空闲的反之 IO 是空闲的如果这个时候用两个线程去跑这段代码一个线程执行 IO 操作 一个线程执行 Cpu 计算 这时 IO 和 Cpu 的利用率是不是发挥了极致创建多少线程比较合适经过上面的分析我们知道创建多少线程能够将硬件的利用率达到最高才是最好的线程数。我们从线程的应用场景来分析由于 IO 操作比 Cpu 计算耗时要久的多的如果我们一段程序有 IO 操作和 Cpu 计算我们可以称之为 IO 密集型计算。程序中没有 IO 操作只有 Cpu 的话称之为 Cpu 密集型程序。IO 密集计算如何将硬件利用率达到极致呢 我们将 R IO 耗时 / Cpu耗时 我们从上面的例子来看如果 IO 耗时 / Cpu 耗时 10 我们平常可以用工具 apm 来统计这个比例创建线程 A 执行 io 操作我们希望 IO 操作的时候 Cpu 不能闲着所以就应该创建 10 个线程去执行 Cpu 计算当 Io 操作完毕后刚好 Cpu 也执行完毕他们的利用率都是百分之 100 在执行这段代码的时候。这个例子我们要创建 1 10 11 个线程执行起来效率更高于是我们就得到了公式: 1 I/O耗时 / Cpu耗时如果是多核 Cpu 最佳线程数 CPU 核数 * [ 1 I/O 耗时 / Cpu 耗时。Cpu 密集型这个就很简单了Cpu 的核数 线程数就行一般我们会设置 Cpu 核数 1防止由于其他因素导致线程阻塞等。结束语看到这里想必大家在回答创建多个线程比较合理这个问题有了新的思路希望能够帮助各位小伙伴