为什么用多线程
1线程间的切换和调度的成本远远小于进程;多核 CPU 时代意味着多个线程可以同时运行,这减少了线程上下文切换的开销
2多线程并发编程正是开发高并发系统的基础,利用好多线程机制可以大大提高系统整体的并发能力以及性能
3单核时代多线程主要是为了提高单进程利用 CPU 和 IO 系统的效率;一个线程被 IO 阻塞,其他线程还可以继续使用 CPU。从而提高了 Java 进程利用系统资源的整体效率
4多核时代多线程主要是为了提高进程利用多核 CPU 的能力;多个线程,这些线程可以被映射到底层多个 CPU 核心上执行,在任务中的多个线程没有资源竞争的情况下,任务执行的效率会有显著性的提高,约等于(单核时执行时间 / CPU 核心数)