ruby - 具有强读取偏差的快速线程安全 Ruby 哈希

标签 ruby multithreading

我需要一些帮助来理解 Ruby 1.8.7 中的 Hash。

我有一个多线程 Ruby 应用程序,大约 95% 的时间应用程序的多个线程都在尝试访问全局哈希。

我不确定默认的 Ruby Hash 是否是线程安全的。考虑到我的情况,拥有快速哈希但又是线程安全的最佳方法是什么?

最佳答案

默认的 Ruby Hash 不是线程安全的。在 MRI 和 YARV 上,它是“有点意外的线程安全”,因为 MRI 和 YARV 有一个损坏的线程实现,无论如何都不能同时运行两个线程。然而,在 JRuby、IronRuby 和 Rubinius 上,情况并非如此。

关于ruby - 具有强读取偏差的快速线程安全 Ruby 哈希,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9265879/

相关文章:

ruby - 高性能 ETL 平面文件提取的更好解决方案?

ruby-on-rails - Rack 错误 "Rack::Lint::LintError: Response body must respond to each"

multithreading - Parallel::ForkManager 使子例程慢 1000 倍

c# - 使用 WinForms ProgressBar 异步/等待

objective-c - Obj-C 为 NSDistributionNotificationCenter 配置运行循环

ruby-on-rails - 没有命名路线的rails3中的远程form_tag

ruby-on-rails - rails 5 : Add record to join table without model (has_and_belongs_to_many)

c++ - QEventLoop 用于同步等待信号

java - 应用程序在 JVM 1.6_33 中崩溃,而在 1.7_25 中不崩溃

ruby - 如何找到 Ruby 方法依赖项?