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

seraphim_houwei · February 27, 2014 · Last by clc3123 replied at March 02, 2014 · 4375 hits

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

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

可以使用 eventmachine

Unknow user #3 March 02, 2014

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

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

还有嘛???

Rails 一般会开一个 worker

感觉是说 kernel#spawnkernel#fork

You need to Sign in before reply, if you don't have an account, please Sign up first.