Ruby 执行IO时,thin是否会阻止主线程?

Ruby 执行IO时,thin是否会阻止主线程?,ruby,eventmachine,thin,Ruby,Eventmachine,Thin,我知道Thin构建在EventMachine之上,后者提供异步IO。如果我使用RoR或Sinatra之类的机架式框架并执行一些DB调用(不使用任何特殊库),这是否会阻止主事件循环(假设我使用Thin作为web服务器) 谢谢是的 标准DB客户机是在Ruby的TCPSocket之上创建的,它将在主线程等待响应时阻塞主线程 您应该使用补丁客户端,它将替换到EM::Connection的TCP连接。其中一些在EventMachine库本身中提供

我知道Thin构建在EventMachine之上,后者提供异步IO。如果我使用RoR或Sinatra之类的机架式框架并执行一些DB调用(不使用任何特殊库),这是否会阻止主事件循环(假设我使用Thin作为web服务器)

谢谢

是的

标准DB客户机是在Ruby的TCPSocket之上创建的,它将在主线程等待响应时阻塞主线程

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