我很困惑。据我所知,如果一段代码在多个线程同时执行时正确运行,那么它就是thread-safe。当来自不同线程的2个指令访问相同的内存位置时,就会发生data race,这些访问中至少有一个是写的,并且没有在这些访问中强制执行任何特定顺序的同步。
很明显,两者都与并发性有关。但他们是在说同样的话吗?
发布于 2016-02-08 08:48:09
如果程序(或其部分)具有数据竞争,那么程序不安全的可能性很高。
线程安全声明程序的最终属性,该属性使用多线程。但是checking --这个属性是非常困难的任务,不能完全自动执行(因为多线程情况下的术语正确性形式化得很差)。
数据竞争声明事件,(相对地)易于自动检查,并且该事件与线程不安全具有高相关性。
摘要:
有些语言禁止编写带有数据种族的程序。对于这类语言:
https://stackoverflow.com/questions/35261598
复制相似问题