【问题标题】:Does thin block main thread when doing IO?做 IO 时是否会阻塞主线程?
【发布时间】:2013-11-02 02:53:44
【问题描述】:

我了解 Thin 建立在提供异步 IO 的 EventMachine 之上。如果我使用 RoR 或 Sinatra 之类的机架框架并进行一些 DB 调用(不使用任何特殊库),这是否会阻塞主事件循环(假设我使用 Thin 作为 Web 服务器)?

谢谢

【问题讨论】:

    标签: ruby eventmachine thin


    【解决方案1】:

    是的。

    标准 DB 客户端建立在 Ruby 的 TCPSocket 之上,这将在等待响应时阻塞主线程。

    您应该使用修补客户端,它将替换 TCP 连接到 EM::Connection。其中一些出现在 EventMachine 库本身中

    【讨论】:

      猜你喜欢
      • 2015-06-25
      • 2016-06-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多