什么是最好的(即快速和小)是在GCC linux上的atomic_fetch_ptr和atomic_set_ptr

问题描述 投票:-1回答:1

在GCC linux中有一堆快速内存屏障原子操作,如__sync_fetch_and_and等。

我想在内存中获取并设置一个指针值,以便保证它在获取时设置的值,因为有时赋值指令不是原子的。我不想要一个重量级的互斥量,因为它太胖了。

什么是最好的方法 ?

c++ linux gcc
1个回答
0
投票

不要在GCC中使用原子建筑。使用std::atomicstd::atomic_compare_exchange_*达到您的目的。谷歌他们在https://cppreference.com

有关在类似问题Which is more efficient, basic mutex lock or atomic integer?的答案中可以学到的最佳信息

© www.soinside.com 2019 - 2024. All rights reserved.