首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >线程安全是什么意思?

线程安全是什么意思?
EN

Stack Overflow用户
提问于 2011-03-11 16:42:16
回答 1查看 840关注 0票数 7

我已经阅读了一些关于ruby多线程编程的博客。我注意到作者倾向于使用线程安全这个词。什么意思?为什么编写线程安全代码很重要?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-03-11 17:00:48

如果您有一个资源(比方说一个全局图书列表),并且您有两个线程正在运行,这两个线程可以修改这个列表。在很多情况下,列表的数据会变得不一致。

  • (线程A读取一本书并显示其数据)
  • (线程B删除同一本书,而数据由线程A使用)
  • (线程A现在想要向书中添加一些信息)

因此,您必须使您的代码线程安全的,以便在任何时候只有一个线程可以对图书列表具有写访问权限。

SpyrosP提到的死锁发生在线程A阻塞列表进行写入并等待线程B在列表中添加数据时。因为两个线程都会等待对方去做他们不能做的事情。只有在线程安全机制没有正确实现的情况下才会发生这种情况。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5270726

复制
相关文章

相似问题

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