如果我在控制器动作中触发了1或1000个:
Thread.new {
# do some stuff
}
答案 0 :(得分:0)
线程和异常不一定是朋友,因为异常不能从当前线程中消失并警告父线程。您还需要启用线程异常通知,否则您将永远不会听到它们:
Thread.new do
Thread.abort_on_exception = true
end
您还需要在每个新帖子上调用Thread.join
,否则主要人员会在没有它们的情况下快速调用。
这样你的代码至少会停止一个异常,而不是简单地终止生成一个异常的线程,并继续进行,好像什么也没发生过一样。
确保您在线程中调用的内容是线程安全的,否则可能会出现意外结果。