gpt4 book ai didi

ruby-on-rails - 何时以及为何应使用类和全局变量?

转载 作者:太空宇宙 更新时间:2023-11-03 18:29:18 26 4
gpt4 key购买 nike

我正在使用 Ruby on Rails 3.0.7,我想知道何时以及为什么应该使用类 (@@) 和全局 ($) 变量,以及如果在 this case那些被正确使用。

P.S.:我问这个问题是因为我有 mentioned case-problem并在一个答案中建议使用类变量。如果在那种情况下使用它很好,我很感激你能解释我。

最佳答案

简短的回答是:从不

我是 ruby​​ 的新手,但我确实从其他语言中了解到这一点:全局变量从不是线程安全的。

沿着同样的思路,避免像瘟疫一样的单例模式,除非你只处理一个唯一的线程。


编辑:

顺便说一句,谷歌搜索 ruby​​ 依赖注入(inject)表明 Ruby 不需要任何它。好吧,告诉你什么。确实如此。

因为人们总是假设它不存在,所以有堆积如山的 gem 和图书馆以及不存在的东西。他们基本上假设您只有一个线程和 IO 阻塞。如果他们从一开始就没有这样做,他们可能是线程安全和非阻塞的。但目前,它们不是。

如果他们这样做了,他们也会更好地使用事件驱动服务器。

就目前情况而言,这是一团糟。

Event Machine 不是线程安全的。 Thin 和 Goliath 不是同一回事。机架异步基本上是猴子修补整个事情。 Passenger 使用 fork 并且只有在你安装带 rails 的 REE/1.8.7 时才聪明。 Mongrel 是线程安全的但 IO 阻塞。 Webrick 是单线程和 IO 阻塞的。 list 还在继续。太乱了。

关于ruby-on-rails - 何时以及为何应使用类和全局变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6566029/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com