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

ruby – 单例类是否会在多线程应用程序中产生问题?

发布时间:2020-12-17 04:30:18 所属栏目:百科 来源:网络整理
导读:这可能是过早的优化,或过早的过度警告,但我避免在一些类上使用单例,因为我担心我需要将我的应用程序作为多线程运行,并且单身人士将会制造冲突和混乱.单例在 Ruby中有这个问题,还是有某种内置的命名空间,这样当一个类引用单例时,只返回同一个线程上的单例?
这可能是过早的优化,或过早的过度警告,但我避免在一些类上使用单例,因为我担心我需要将我的应用程序作为多线程运行,并且单身人士将会制造冲突和混乱.单例在 Ruby中有这个问题,还是有某种内置的命名空间,这样当一个类引用单例时,只返回同一个线程上的单例?

编辑:澄清这些是可观察的类,当更新时会导致正在观看它们的其他类更新.我不确定这是否是线程安全的,但我知道现在我正在通过这些可观察的类大约一吨,这有点烦人.他们看起来像天生的单身人士课程.

解决方法

所有未编写为线程安全的类都会在多线程环境中引起问题,无论它们是否是单例.

您的类是单例的事实可能会使问题变得更糟,因为默认情况下它是共享的.您不能拥有每个线程的实例.

如果单例状态是只读且不可变的,则不会出现线程安全问题.

如果修改了共享状态,则必须确保它的线程安全.

(编辑:李大同)

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

    推荐文章
      热点阅读