了解竞争条件

时间:2013-04-09 09:20:13

标签: race-condition

来自维基百科:

  

当单独的计算机进程或执行线程依赖于某些共享状态时,软件会出现竞争条件。

如果我正确理解这一点,这是否意味着以下也是竞争条件,尽管共享资源受到保护?

int x; // global
Thread1:

Lock(m);
x=1;
Unlock(m)

Thread2:

Lock(m);
x=2;
Unlock(m);

显然,输出取决于执行顺序。

1 个答案:

答案 0 :(得分:0)

您的理解是正确的。这是竞争条件,但它不是数据竞争。差异很微妙;我试着解释它here