加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby – 线程安全是什么意思?

发布时间:2020-12-17 04:13:35 所属栏目:百科 来源:网络整理
导读:我一直在阅读一些关于 ruby中多线程编程的博客.我注意到的是作者倾向于使用线程安全这个词.这是什么意思?为什么编写线程安全代码很重要? 解决方法 如果你有一个资源(比如说一个全局的书籍列表),你有两个运行的线程可以修改这个列表.在很多情况下,列表的数
我一直在阅读一些关于 ruby中多线程编程的博客.我注意到的是作者倾向于使用线程安全这个词.这是什么意思?为什么编写线程安全代码很重要?

解决方法

如果你有一个资源(比如说一个全局的书籍列表),你有两个运行的线程可以修改这个列表.在很多情况下,列表的数据会不一致.

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

因此,您必须使代码具有线程安全性,以便在任何时候只有一个线程可以对书籍列表具有写入权限.

SpyrosP提到的死锁发生在线程A阻塞List进行写入并等待线程B在列表上添加数据时.因为两个线程都会等待彼此做某些他们无法做的事情.只有在未正确实现线程安全机制时才会发生这种情况.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读