1

来自维基百科:

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

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

int x; // global
Thread1:

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

Thread2:

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

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

4

1 回答 1

0

你的理解是正确的。这是一个竞争条件,但它不是数据竞争。区别很微妙。我试着在这里解释一下。

于 2013-12-17T10:09:49.003 回答