Tl;dr The goal is to keep compatibility with Ruby 2. It introduces the concept of guilds and channels to send objects between guilds. The bullet points below are quoted from a couple of slides, the other text is mine:<p>* Guild has at least one thread (and a thread has at least one fiber)<p>* Threads in different guilds can run in parallel<p>* Threads in a same guild can not run in parallel because of GVL (or GGL: Giant Guild Lock)<p>A guild can't access the objects of other guilds.<p>About channels:<p>* We have Guild::Channel to communicate each other<p>* 2 communication methods<p>1. Copy<p>2. Transfer membership or Move in short<p>Copy is a deep copy and the object is duplicated into the destination guild. A transfer removes an object from a guild and makes it available to another.<p>There are also immutable objects that are available to all guilds. An obvious example are numbers, which are objects in Ruby, booleans and symbols. I think that other objects are frozen with <a href="https://ruby-doc.org/core-2.3.1/Object.html#method-i-freeze" rel="nofollow">https://ruby-doc.org/core-2.3.1/Object.html#method-i-freeze</a><p>They already did some encouraging benchmarks.