【发布时间】:2013-11-18 22:30:31
【问题描述】:
我有一组数据,我想在我的 rails 应用程序中进行一些计算,每个计算都是相互独立的,所以我想对它们进行线程化,这样我的响应速度会快得多。
这是我的 ATM:
def show
@stats = Stats.new
Thread.new {
@stats.top_brands = #RESULT OF FIRST CALCULATION
}
Thread.new {
@stats.top_retailers = #RESULT OF SECOND CALCULATION
}
Thread.new {
@stats.top_styles = #RESULT OF THIRD CALCULATION
}
Thread.new {
@stats.top_colors = #RESULT OF FOURTH CALCULATION
}
render json: @stats
end
现在这会为@stats 的每个成员实例返回一堆空数组,但是,如果我将线程连接在一起,它会运行,但由于每个线程都阻塞,因此无法实现线程化的目的。
由于我对线程非常陌生,我想知道我在这里做错了什么,或者是否有可能完成我正在尝试做的事情,即并行运行 4 次计算并将结果返回到客户。
谢谢,
乔
【问题讨论】:
标签: ruby-on-rails ruby multithreading actioncontroller