11.为什么要多线程?单核 CPU 上运行多个线程效率一定会高吗?
当某个线程阻塞时,让别的工作能够正常执行,硬盘的读写速度与内存差好几个数量级,那么进行 IO 时就不得不阻塞,等待 IO 的完成。那等待 IO 的时候,CPU 在干啥呢?没错,CPU 在发呆
在单核CPU上,同一时刻只能有一个线程在运行,其他线程需要等待CPU的时间片分配。如果线程是CPU密集型的,那么多个线程同时运行会导致频繁的线程切换,增加了系统的开销,降低了效率。如果线程是IO密集型的,那么多个线程同时运行可以利用CPU在等待IO时的空闲时间,提高了效率