首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >线程安全和数据竞赛条件是否解决了同样的问题?

线程安全和数据竞赛条件是否解决了同样的问题?
EN

Stack Overflow用户
提问于 2016-02-08 02:29:11
回答 1查看 342关注 0票数 1

我很困惑。据我所知,如果一段代码在多个线程同时执行时正确运行,那么它就是thread-safe。当来自不同线程的2个指令访问相同的内存位置时,就会发生data race,这些访问中至少有一个是写的,并且没有在这些访问中强制执行任何特定顺序的同步。

很明显,两者都与并发性有关。但他们是在说同样的话吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-02-08 08:48:09

如果程序(或其部分)具有数据竞争,那么程序不安全的可能性很高。

线程安全声明程序的最终属性,该属性使用多线程。但是checking --这个属性是非常困难的任务,不能完全自动执行(因为多线程情况下的术语正确性形式化得很差)。

数据竞争声明事件,(相对地)易于自动检查,并且该事件与线程不安全具有高相关性

摘要:

  1. 没有数据竞争-程序可以是线程安全的.
  2. 数据竞争-程序是不太可能的线程安全。

有些语言禁止编写带有数据种族的程序。对于这类语言:

  1. 没有数据竞争-程序可以是线程安全的.
  2. 数据竞争-程序是从不线程安全.
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35261598

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档