ruby - Ruby 中的任务/ future

标签 ruby asynchronous

代表潜在延迟异步计算并有可能订阅其完成的模式的惯用 Ruby 模拟是什么?即类似于 .NET System.Threading.Task 或 Python 3.x concurrent.futures.future 的内容。

请注意,这并不一定意味着多线程 - “ future ”对象的实际实现很可能会使用其他一些方式来安排工作和获取结果,这超出了问题的范围。该问题与提供给对象用户的 API 密切相关。

最佳答案

我不确定 Vanilla Ruby,但 EventMachine 有 deferrables .

另外,查看 this article .

EM.run {
  detector = LanguageDetector.new("Sgwn i os yw google yn deall Cymraeg?")
  detector.callback { |lang| puts "The language was #{lang}" }
  detector.errback { |error| puts "Error: #{error}" }
}

关于ruby - Ruby 中的任务/ future ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9371875/

相关文章:

ruby - 为什么模块的单例方法在混合的下游特征类中不可见?

javascript - 为什么要区分单行注释和多行注释?

javascript - 在导出之前加载异步配置

c# - 异步调用 WriteAsync,我怎么知道它何时完成?

javascript - 静态 Promise.resolve()/reject() 始终被解释为resolve()

ruby-on-rails - Rails 简单导航如何样式化?

ruby - 如何在 ruby​​ 数组中找到匹配值?

C++11 async 只使用一个核心

c++ - 在 C++ unix 中异步写入文件

ruby - 下载所有gems依赖项