代码中竞争条件的存在是否意味着将导致死锁的执行序列的存在?

Does the existence of a race condition in the code imply the existence of an execution sequence that will result in a deadlock?

我理解 Race condition: 是多个进程(或线程)读写数据项,最终结果取决于顺序 在多个进程中执行。我的问题是 代码中存在竞争条件是否意味着存在会导致死锁的执行序列?

没有

竞争条件意味着根据执行顺序,可以观察到不同的最终结果。

注意:这个定义根本不暗示任何类型的锁定会发生。没有锁定,没有死锁。就这么简单。

当然:有可能涉及到加锁;有时你会得到无效的结果;有时你会陷入僵局。但重要的是,如前所述:这是可能的,只是并非在所有情况下。