3 ms·
Yes it can, but its not needed directly. Maybe for Ruby 2.0 this could get shoehorned in. JRuby and (sharpish) Rubinius can already do GILless ruby execution.
by mitchty 15y ago
Yes it can, but its not needed directly. Maybe for Ruby 2.0 this could get shoehorned in.
JRuby and (sharpish) Rubinius can already do GILless ruby execution. But that doesn't mean everything "just works", it only exposes the problems both languages have when two concurrent contexts try to update the same object, like adding hash elements at the same time. In JRuby it throws an exception, at least allowing you to retry, Rubinius is copying that behavior as well. But technically, there is no standard for what happens.
My knowledge of non CPython interpereters isn't enough to talk about their GIL or lack thereof implementations.