是否存在不同类型的比赛条件?

问题描述 投票:0回答:1

我知道有数据竞赛,是否可以将其他竞赛条件细分为不同的类别?

最终所有竞争条件都是由于数据以错误的顺序访问,因此导致线程行为异常,但是数据竞争是一种非常特殊的情况,其中一次读取,更改和写入数据,对吗?

还有什么会导致竞争状况?

multithreading thread-safety race-condition
1个回答
0
投票

线程问题通常按如下分类:

  • 种族条件
  • 死锁
  • 饥饿
  • Livelock

数据竞赛是一个更底层的问题。当您在相同的内存位置上发生冲突的内存访问(因此至少其中之一是写操作)时,没有按关联发生的先后顺序进行排序。数据争用在诸如Java内存模型或C ++ 11的内存模型中定义。

© www.soinside.com 2019 - 2024. All rights reserved.