C++ boost库零基础教程(十七):boost并发编程之原子操作atomic

       早期的C++中没有语言级别的并发支持,因为在C++诞生很久以后线程等用于并发操作的概念才出现(POSIX线程标准制定于1995年)。随着近年来多CPU、多内核计算机的大量出现,并发操作(不仅是多线程)已经成为了软件开发的基本需求,新的C++标准提供了〈atomic〉、〈thread〉等库,对并发编程提供了初步的支持,但仍未达到尽善尽美。

       作为C++标准库的补充,Boost实现了数个用于并发编程的库,它们是高度可用的,而且结构良好,无论从哪个方面来说都要强于其他非标准的第三方并发程序库。

      boost库提供了三个用于并发的组件thread, atomic, asio.

      thread库,它兼容C++标准,并且仍然在持续改进,为C++増加了可移植的线程处理能力;atomic,它完全实现了 C++标准定义的原子操作库:其次是,最后是一个用于同步和异步I/O操作的功能强大的库asio,它使用了前摄器模式,可以处理串口/网络通信,有望成为C++标准底层通信库.

       并发编程是一个很广泛的话题,也是一门很复杂的技术,需要在项目中不断的锻炼,如果运气好,能接触这类的项目那更是一种运气。

       本篇主要介绍原子操作atomic.

      atomic实现了 C++标准定义的原子操作库(C++11.29),它封装了不同计算机硬件的底层操作,提供了跨平台的原子操作功能,让我们完全摆脱并发竞争读写变量的困扰.

  

      先看看atomic的相关源码

猜你喜欢

转载自blog.csdn.net/yao_hou/article/details/103966261