并发编程

并发编程

Content

  • atomic

  • thread

  • 同步和异步

基本概念:并发是指多任务的同时执行,从而使现有资源得到充分利用并节省时间。比如我们可以在烧水的时候看书等。

关键字:同步,异步,阻塞,非阻塞,并行,并发,临界区,竞争条件,指令重排,锁,amdahl,gustafson

一、atomic

概念:atomic封装了不同计算机硬件的底层操作源语,提供了跨平台的原子操作功能,摆脱并发竞争读写变量的困扰。

用法:需要包含头文件#include<boost/atomic.hpp>以及using namespace boost;

类摘要:

并发编程

atomic还针对整数类型和指针类型进行了特化,增加了一些特殊操作:

并发编程

二、Thread