【问题标题】:Understanding race conditions了解竞争条件
【发布时间】:2013-04-09 09:20:12
【问题描述】:

来自维基百科:

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

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

int x; // global
Thread1:

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

Thread2:

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

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

【问题讨论】:

  • 通常只有在出现问题时才称其为竞赛。这取决于您需要的应​​用程序和行为。

标签: race-condition


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2015-06-27
    • 2012-04-17
    • 2019-08-20
    • 1970-01-01
    • 2023-03-13
    • 2022-01-23
    • 2018-10-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多