美文网首页
原子类型与原子操作

原子类型与原子操作

作者: 混世太保 | 来源:发表于2018-07-24 21:08 被阅读0次

原子类型

c++11提供了原子操作类型, 模板类std::atomic。
头文件#include<atomic>

内存模型

在原子类型的操作中可以指定在实现的时候,对应的汇编指令的执行顺序。
我们如果加了锁,那么对于加锁部分的代码,其执行顺序是顺序的。
但是在c++11中我们可以指定内存模型。共有以下几种。

枚举值 定义规则
memory_order_relaxed 不对执行顺序做任何保证
memory_order_acquire 本线程中,所有后续的读操作必须在本条原子操作完成后执行
memory_order_release 本线程中,所有之前的写操作完成后,才能执行本条原子操作
memory_order_acq_rel 同时包含memory_order_acquire和memory_order_release标记
memory_order_consume 本线程中,所有后续的有关本原子类型的操作,必须在本条原子操作完成之后执行
memory_order_seq_cst 全部存取都按顺序执行

显然应该举个例子的啊。。

相关文章

  • 原子类型与原子操作

    原子类型和原子操作 并行编程、多线程与C++11 常见的并行编程有多种模型:共享内存、多线程、消息传递等。 多线程...

  • 原子类型与原子操作

    原子类型 c++11提供了原子操作类型, 模板类std::atomic。头文件#include 内存模型 在原子类...

  • Java - 原子操作类

    Java中的12个原子操作类 原子更新基本类型类 AtomicBoolean:原子更新布尔类型 AtomicInt...

  • Atomic类型组

    原子类型。 在concurrent.atomic包中定义了若干原子类型,这些类型中的每个方法都是保证了原子操作的。...

  • 原子性(Atomicity)

    原子性(Atomicity) Java中,对基本数据类型的读取和赋值操作是原子性操作,所谓原子性操作就是指这些操作...

  • 并发编程艺术-7

    本文主要介绍了java 中的 原子操作类,分为原子更新基本类型,原子更新数组,原子更新引用,原子更新属性,基本上都...

  • 7. Java中的13个原子操作类

    原子操作 一种用法简单、性能高效、线程安全的更新变量的方式,包括原子更新基本类型、原子更新数组、原子更新引用、原子...

  • 第10章 内核同步方法

    一、原子操作 原子操作可以操作指令以原子的方式执行,执行过程不会被打断。 1.1 原子整数操作 针对整数的原子操作...

  • Alios-things - rhino内核(二)COMMON文

    1. k_atomic 1.1 功能 提供原子操作,原子性来源于开关中断,与硬件体系无关。Linux的原子操作与同...

  • sql自学笔记(二十二)——MySQL8.0版本的新特性(十二)

    原子DDL操作 MySQL8.0开始显示支持原子DDL操作,其中与表相关的原子DDL只支持InnDB存储引擎。 一...

网友评论

      本文标题:原子类型与原子操作

      本文链接:https://www.haomeiwen.com/subject/iunymftx.html