1-C++的并发世界

1.1 何谓并发

并发的两种方式

  1. 多核机器上的真正并行
  2. 单核机器的任务切换

并发的两种途径

  1. 多进程并发
    1.1 多进程并发需要通过操作系统进行进程间通信
  2. 多线程并发
    2.1 多线程并发需要共享内存

1.2 为什么使用并发

主要原因有两个:关注点分离(SOC)和性能

为了分离关注点

通过将相关的代码与无关的代码分离.
比如:
实现DVD播放程序,分开用户界面和DVD播放

为了性能

两种方式利用并发提高性能:

  1. 将一个单个任务分成几个部分,切各自并行运行,从而降低总运行时间,这就是任务并行(task parallelism)
  2. 每个线程在不同的数据部分执行相同的操作,也就是数据并行(data parallelism)

    什么时候不使用并发

    不使用并发的唯一原因就是,收益比不上成本

    1.4 开始入门

    1.4.1Hello Concurrent World

    清单 1.1 一个简单的Hello, Concurrent World程序:
    “`

    include

    include

    void hello() //②
    {
    std::cout << “Hello Concurrent World\n”;
    }

int main()
{
std::thread t(hello); //③
t.join(); //④
}
1. 头文件#include

posted on 2018-06-07 15:46 iamkevin 阅读() 评论() 编辑 收藏

版权声明:本文为iamkevin原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/iamkevin/p/9150991.html