这比其他任何事情都更令人好奇(我应该完全放弃它并尝试 jRuby),但是是否可以禁用 YARV ruby 的全局解释器锁和任何其他相关的锁?
我认为这会“使您的保修失效”,因为一些 YARV Ruby 的库不是线程安全的,但它会导致任何其他问题吗?
这比其他任何事情都更令人好奇(我应该完全放弃它并尝试 jRuby),但是是否可以禁用 YARV ruby 的全局解释器锁和任何其他相关的锁?
我认为这会“使您的保修失效”,因为一些 YARV Ruby 的库不是线程安全的,但它会导致任何其他问题吗?
除非您实际编辑源代码并重新编译,否则无法禁用它。我还没有看过它是如何实现的,但我猜很难将它从代码中“弹出”出来。如果你不想要 GIL,你可以试试 JRuby,我很确定 Rubinius 也没有。
Tenderlove 在推特上发布了关于禁用 GIL 的补丁:
我想看看@_ko1 的实验补丁来删除 GIL /cc @yukihiro_matz #rubyconf