去年五月在波特兰的 Railsconf 上,我参加了一个演讲,有人认为,在 Rails 中,Ruby 类成员变量,如 @@foo,是危险的,因为它们本质上是非线程安全的。
之后我研究了这个问题,但我从来没有找到一个真正充实这个问题的链接。我将不胜感激指向一篇关于 Rails 和线程的好文章,该文章真正涉及到类成员问题。另外,很高兴知道 Rail 2+ 和 Yarv 在这方面是如何改变的。
编辑:
也许我对演示文稿的记忆模糊不清,但我记得@@foo 的问题超出了通常的警告,即必须严格控制任何共享变量访问。我知道 Ruby 代码本身存在内存泄漏,不久前已修复。我正在寻找有关 Ruby 共享变量和多任务处理的文章链接,越深入越好。*目前我不使用类变量来做任何事情,但是在某些情况下能够使用它们会很好。