我已经将堆栈转换为Rails 4(是的!)
并且我正在寻找利用线程安全代码的优势。
彪马起床工作,阻止它似乎是一个不同的问题:(
Puma是唯一的多线程 rails 吗?
Thin -> EventMachine
Unicorn -> Forking
Puma -> multi-threaded
Mongrel -> don't care
Webbrick -> don't care
最佳答案
否。按字母顺序:
Iodine
HTTP/Websocket服务器和EventMachine替代方案(基于kqueue/epoll)Net::HTTP::Server
尽管缺少广告,但仍支持多线程--threaded
或通过在适当的配置文件(例如threaded: true
)中设置bundle exec thin start --threaded
来启用。Rails::Server
to enable multi-threading 请注意,由于global interpreter lock (GIL),当前 MRI Ruby一次仅运行一个线程,而则运行。只有使用不同的Ruby运行时(例如JRuby或Rubinius),您才真正能够利用多线程,它们提供对 native 线程的访问。如果您决定使用JRuby,则有几个JVM-dependent servers worth exploring。
关于ruby-on-rails - puma是唯一的多线程rails 4 http服务器吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17902386/