c++11并发程序设计(1)

第一章:你好 c++的并发世界

1.何为并发

  最简单和最基本的并发,是指两个或两个以上的独立活动同时进行。

  对于单个处理单元或者核心,这种机器只能在某一时刻执行一个任务,不够它可以每秒进行多次的任务切换。这种叫做任务切换

2.并发的途径

  2.1 多进程

    独立的进程可以通过进程间通信渠道传递讯息(信号,套接字,文件,管道等等),但是进程间通信不是设置复杂,就是速度慢。

  这是因为进程间的保护机制,防止一个进程去修改另外一个进程的数据。进程的缺点就是内存的开销较大,每一个独立的进程都有独    

  立的虚拟的地址空间,堆栈和其他的系统资源组成。

  2.2 多线程

    线程很想轻量级的进程,每一个线程相互独立运行,且线程可以在不同的指令序列中运行,但是进程中的所有线程都有共享的地址空间,并且所有的线程访问的大部分数据-全局变量仍然是全局的,指针、对象的引用或数据  可以在线程间传递。

3.一个简单Hello, Concurrent World程序

#include<iostream>
#include <thread>

using namespace std;

void sayHello()
{
     cout<<"hello world"<<endl;   
}

int main()
{
    thread td(sayhello);
    td.join();       
}
原文地址:https://www.cnblogs.com/xiaoma123/p/5389768.html