想要EM-Synchrony,em-http-request和fiber之间的关系?

时间:2011-01-13 12:01:38

标签: ruby concurrency ruby-on-rails-3 eventmachine

我想并发下载网页,所以我找到了这些库,

但是我无法区分em-synchrony和em-http-request之间的关系?

我检查了每个存储库的github,但似乎所有的例子都是关于每个人的,

但是从一些文章来看,似乎em-synchrony和em-http-request可以一起使用,但我没有找到相关的代码

如何编写此演示代码,谢谢

1 个答案:

答案 0 :(得分:4)

EM-Synchrony包含使EM-HTTP-Request使用光纤的代码。它在https://github.com/igrigorik/em-synchrony/blob/master/lib/em-synchrony/em-http.rb。因此,一旦您需要em-synchrony/em-http,您的em-http请求调用将使用光纤,除非您调用已创建的a *版本。

所以,有些东西:

require 'rubygems'
require 'em-synchrony'
require 'em-synchrony/em-http'

EM.synchrony do
  req = EM::HttpRequest.new('http://www.google.com').get
  p req
end