2010-07-29 82 views
1

在rails代码中徘徊,我碰到了with_scope是否带有_scope线程安全?

从我可以告诉,它采用范围类型和条件,将它们合并到该范围类型的现有条件,屈服于块,然后摆脱额外范围。因此,我的第一个想法是在多线程环境中(如rails上的jruby),如果线程1正在执行块时发生了什么情况,线程2决定执行Model.find:all?在我看来,像是等待发生的竞赛状况。

我错过了什么吗?

回答

0

所以这里的技巧是,如果足够深的跟踪,范围将通过Thread.current [method]设置,该方法将执行方法,但仅在当前线程的范围内。我甚至不知道这是可能的红宝石...猜你学习新的东西每天