跳到主要内容
uencoder

Data Race

数据竞争是多线程同时读写同一位置且至少一个为写、无同步,导致未定义行为。

用途

理解数据竞争导致的未定义行为与防御,是并发程序正确性核心。

机制

线程 A 写 x 同时线程 B 读/写 x 无同步,结果不确定(撕裂值、部分写)。C/C++ 数据竞争为未定义行为。防御:互斥锁、原子操作、内存屏障。

用例

  • 并发正确性分析
  • 线程安全审计
  • 数据竞争检测

相关工具

参考链接