【问题标题】:Which situations to multi-thread in RailsRails 多线程的几种情况
【发布时间】:2008-11-10 04:55:45
【问题描述】:

Rails 现在使multi-threaded 应用程序成为可能,但听起来它并不适用于所有情况(例如,如果您使用的是 Mongrel,听起来这根本不会影响您)。

什么时候可以对 Rails 应用程序进行多线程处理?

This article 提供了有关多线程陷阱的更多信息。

【问题讨论】:

    标签: ruby-on-rails multithreading


    【解决方案1】:

    除非您使用 JRuby,否则我会尽量避免使用 Ruby 中的多线程应用程序。 Ruby 线程不是本地线程,根据我的经验,它们确实工作得非常糟糕。此外,Ruby 的内存管理器还有很多不足之处,因此按进程而非线程进行隔离是一种更适合生产的方法。

    JRuby 是另一回事。它使用 Java 的线程,可以转换为本地线程,它使用 Java 的垃圾收集器,非常棒。

    【讨论】:

      【解决方案2】:

      根据经验,如果您打算使用线程,那么您的方法很可能不是更好的方法。 首先尝试详细说明为什么需要线程,如果仍然需要它们,请谨慎使用它们:)

      【讨论】:

      • 虽然您所说的有些道理(即线程很难正确),但这是一种相当强烈的过度概括。在“幕后”处理良好线程的系统中工作可以显着降低复杂性,特别是在链接中提到的情况下(io 阻塞时自动上下文切换等)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-30
      • 2022-06-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-15
      相关资源
      最近更新 更多