2 ms·
This plan sounds very much like Ruby Ractors, which are essentially sub-interpreters, each with their own GVL. Shareable data is basically immutable data + cla
by lloeki 4y ago
This plan sounds very much like Ruby Ractors, which are essentially sub-interpreters, each with their own GVL.
Shareable data is basically immutable data + classes/modules, and unshareable data can be transmitted via push (send+receive) or pull (yield+take). Transmission implies either deep copying (which "forks" the instances) or moving with ownership change (sender then loses access)
See here for details: https://docs.ruby-lang.org/en/master/ractor_md.html https://docs.ruby-lang.org/en/master/ractor_md.html