The linked article Show archive.org snapshot provides a good overview of the various concurrency primitives in Ruby, and what's changing in Ruby 3.