Sorry, your browser cannot access this site
This page requires browser support (enable) JavaScript
Learn more >

1. 内存序的概念及其详细的类型说明1.1. 什么是内存序?在多核系统中,当一个线程写入内存时,同一核心可以立即读到这个值,但其他核心上的线程可能在一段时间内仍然看到旧值。更复杂的是,编译器和CPU为了性能,可能会对指令进行重排。 内存序(Memory Order)正是用来控制这些行为的机制——它指定了原子操作周围的非原子内存访问如何排序。 1.2. 内存序的类型C++11定义了6种内存序:...

1. 核心概念和实现原理1.1. 什么是原子操作?原子变量(std::atomic)是 C++11 引入的多线程同步原语,它能保证对变量的单个操作是不可分割的——要么完整执行,要么完全没执行,中间不会被其他线程打断,从而避免数据竞争(data race)。 1.2. 为什么需要原子操作?考虑一个简单的场景:多个线程同时对一个整数执行自增操作: 123int counter = 0;// 线程...