-1

我知道竞争条件的风险以及写入或读取的值可能已损坏。我处于布尔和整数以及几个类实例的比赛中。

除了数据无效之外,这是否会导致程序崩溃或对我的程序产生任何其他不良影响?我有最坏的打算吗?

我的程序有两个版本,一个是调试版本,另一个版本有很多优化选项。我很担心最后一个,因为它要投入生产。

4

2 回答 2

3

data not being valid可能会导致任何结果(即您调用未定义的行为)。因此,考虑到这一点,您的应用程序可能会崩溃、内存泄漏、格式化硬盘驱动器以及几乎其他任何事情。

于 2013-03-19T13:34:45.097 回答
0

这会导致程序崩溃吗

取决于正在争夺的资源,但是是的。如果一个线程获取资源而另一个线程需要它继续进行,您可能会出现未定义的行为,甚至程序崩溃。

除了数据无效之外,对我的程序还有其他不良影响吗?

除了无效数据(因此实际上是一个无用的程序)之外,您还可能容易出现死锁。

关于比赛条件的维基百科文章是寻找此类问题答案的好地方。

于 2013-03-19T16:37:22.380 回答