多线程简介

1 多线程简介

1.1 什么是线程

什么是线程? 依照线性顺序、独立执行一段计算指令程序的承载空间,是计算机系统执行程序流的最小单元。

单线程示例如下:
多线程简介
多线程示例:
多线程简介
我们来思考一个问题,使用多线程可以提升性能吗?我们必须知道,对于单核CPU,多线程对于性能的提升微乎其微,线程过多由于切换线程需要消耗资源,可能反而导致性能的下降。但是对于多核心CPU,只要我们线程划分合理,使用多线程是能够提升性能的。

多线程简介

不过对于多线程,我们必须注意多线程操作中共享数据的保护,锁定、临界区、原子操作的问题。

1.2 多线程的使用场景

  1. 提高硬件性能的利用率。
  2. 后台运算:加载文件、耗时运算、播放特效。
  3. 并行计算 :音频、视频、图片、AI。
  4. 其它需要最大化利用硬件处理能力的任务。

参考资料:

  1. C++ 百万并发网络通信引擎架构与实现 (服务端、客户端、跨平台) Version 1.0