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