代码之家  ›  专栏  ›  技术社区  ›  Matt Briggs

是用“范围螺纹安全”吗?

  •  1
  • Matt Briggs  · 技术社区  · 14 年前

    我在铁轨上翻来翻去,跑了过去。 with_scope .

    据我所知,它获取作用域类型和条件,将它们合并到该作用域类型的现有条件中,生成块,然后除去附加作用域。

    所以我的第一个想法是在多线程环境中(如JRuby on Rails),如果线程1执行块时,线程2决定执行一个模型,会发生什么情况。find:all?在我看来,这是一个等待发生的比赛条件。

    我错过什么了吗?

    1 回复  |  直到 14 年前
        1
  •  0
  •   Matt Briggs    14 年前

    所以这里的技巧是,如果跟踪深度足够深,作用域将通过thread.current[方法]进行设置,该方法将执行方法,但只在当前线程的作用域中执行。我甚至不知道这对鲁比来说是可能的…我猜你每天都会学到新东西