Ruby 如何异步启动一个新线程?

seraphim_houwei · 2014年02月27日 · 最后由 clc3123 回复于 2014年03月02日 · 4387 次阅读

举个例子,主线程一般都是从上至下按照一定顺序执行的,有些操作很耗费时间,但是主线程不需要等待这些操作返回。所以想在主线程中,异步启动一个新线程来处理这些操作,对于主线程来说,好像没有执行这些操作一样,这样主线程完成的速度就会大大提高。

多线程不就是异步的一种方式吗..

可以使用 eventmachine

匿名 #3 2014年03月02日

只知道 ruby2.0 不支持真正的多线程,如果不是出于 IO 的考虑,ruby2.0 的多线程不会提高运行速度。

  1. 开新进程
  2. 开新线程
  3. DRB

还有嘛???

Rails 一般会开一个 worker

感觉是说 kernel#spawnkernel#fork

需要 登录 后方可回复, 如果你还没有账号请 注册新账号