首页 > 解决方案 > __sync_bool_compare_and_swap - 如果 oldval 和 newval 相同则返回值

问题描述

文档没有说明当期望值oldvalnewval值相同时会发生什么。以下来自 gcc 文档:

如果比较成功并且newval 被写入,则“bool”版本返回 true 。

因此,如果 newval 和 oldval 相同,则实际上没有写入。那么如果? _*ptr == 0

__sync_bool_compare_and_swap(&ptr, 0, 0)

谢谢

标签: multithreadinggcccompare-and-swap

解决方案


推荐阅读