标签: race-condition
来自维基百科:
当单独的计算机进程或执行线程依赖于某些共享状态时,软件会出现竞争条件。
如果我正确理解这一点,这是否意味着以下也是竞争条件,尽管共享资源受到保护?
int x; // global Thread1: Lock(m); x=1; Unlock(m) Thread2: Lock(m); x=2; Unlock(m);
显然,输出取决于执行顺序。
答案 0 :(得分:0)
您的理解是正确的。这是竞争条件,但它不是数据竞争。差异很微妙;我试着解释它here。