1

是否可以用不同的实现替换所有 ruby​​ IO 类,这些实现在幕后使用反应器和光纤?我的意思是,实际上所有使用原生 ruby​​ IO 的库都将按预期工作,因为所有对 IO 的调用都将用纤维包装,它们将等待请求的操作。但是在等待连接/文件中的数据可用时,ruby 将服务于其他 io 操作。

4

1 回答 1

0

有可能吗?是的,只是猴子补丁 IO。工作量很大吗?是的,但如果你真的想要,那就去做吧。如果您不知道如何修补 IO,请提出您的问题。

例如,要覆盖read

class IO
  def read(count = -1)
    #Some fiber code here...
  end
end
于 2012-09-30T14:03:41.237 回答