|
|
1
7
我不知道一般情况,但从该线程中复制示例不会在1.9.1中中断: AutooDeD.Rb:
AutoLoad
|
|
|
2
9
带来了2011年的更新,因为我也很好奇。 当前打开了两张票: 核心开发人员建议,在cruby/jruby 1.9中,需求和自动加载以相同的方式工作,并且是线程安全的。从这个意义上说,Ruby在文件完全加载之前一直保持一个锁。 然而,这会带来潜在的死锁带来不便的副作用。明确地:
结论可能是:如果应用程序中存在死锁的可能性,那么在启动线程之前需要所有东西。 |
|
|
3
-4
它总是坏的。 Subload允许您在线程环境中切换模式。 我仍然在线程环境中使用autoload,但只在单线程引导过程中使用。我看不出在现实世界的应用程序中有多线程启动过程的任何好理由。如果您确实有一个,那么您可能需要排队操作来加载共享库,因为在类和实例级设置中始终存在线程安全问题,大多数情况下都是这样的:
无论加载器是什么,这个代码在加载时都不是线程安全的。 如果你看不到这个,你就不应该穿线。 |