多线程的作用
关于多线程的作用,先简单说一下结论:多线程是一项用于改进性能的技术。
改进性能,意味着用更少的资源做更多的事情。 “资源”的概念很广泛,对于给定的活动而言,一些特定的资源通常非常缺乏,无论是 CPU 周期、内存、网络带宽、I/O 带宽、数据库请求、磁盘空间、以及其他一些资源。当活动的运行因某个特定资源受阻时,我们称之为受限于该资源,例如受限于 CPU ,受限于数据库。
多线程是提供资源使用率的一种手段。在进行 I/O 时,将会阻塞线程,这时另一条线程获取了 CPU 资源,进行另一项计算操作。这其实就是利用多线并发来实现更好的性能,让 CPU 尽可能处于忙碌状态。当然,这并不是让 CPU 忙于应对无用地计算。
多线程做到的是尽可能地利用 CPU 资源,充分利用 CPU ,从而提高性能。这也意味着,性能的瓶颈始终是会受限于 CPU 。
与单线程相比,使用多线程也是会消耗资源的:线程的创建、销毁,协调线程(加锁、信号、同步)&