multithreading - __sync_bool_compare_and_swap - 如果 oldval 和 newval 相同则返回值
问题描述
文档没有说明当期望值oldval
和newval
值相同时会发生什么。以下来自 gcc 文档:
如果比较成功并且newval 被写入,则“bool”版本返回 true 。
因此,如果 newval 和 oldval 相同,则实际上没有写入。那么如果? _*ptr == 0
__sync_bool_compare_and_swap(&ptr, 0, 0)
谢谢
解决方案
推荐阅读
- html - IE11 - 对齐项目不适用于弹出窗口
- linux - 为什么我们需要在调用函数 conn_request() 之前调用 local_bh_disabled()?
- javascript - 如何在 React 中正确使用滚动事件监听器?
- .net - 如何在 Windows 10 上的 Windows 沙盒中安装 .Net 2.0
- c# - 验证模型内列表中的特定项目
- python - 在 Python 中读取 .mat 文件
- java - Android 的 DialogFlow
- python-3.x - 获取包含特殊字符的 URL 中的完整参数
- javascript - 如何在浏览器中打开pdf文件而不是下载它?
- python - 如何处理客户端断开连接?