0%

C++并发的世界

C++的并发世界

主要内容:

  • 什么是并发和多线程?
  • 为什么用并发和多线程?
  • 如何用并发和多线程?

什么是并发?

两个或更多独立的活动同时进行。在计算机领域中表现为:单个系统中同时执行多个独立的任务。

单核任务切换VS多核硬件并发

  • 单核任务切换

单核切换

  • 多核硬件并发

多核硬件并发

多进程并发

独立进程可通过进程间常规的通信渠道传递信息(信号、套接字、文件、管道等等)。

缺点之一:运行进程所需的固定开销:需要时间启动进程,操作系统需要内部资源来管理进程等等。

独立进程实现并发的额外优势:可通过远程连接在不同的机器上运行独立的进程。

多线程并发

每个线程相互独立运行,并共享地址空间,因此线程可以通过共享内存进行通信。

如果数据要被多个线程访问,那么必须保证每个线程所访问到的数据是一致的