You are correct that the default Ruby C interpreter only runs one thread at a time (other dynamic C-based languages ββlike Python have similar limitations). Due to this limitation, threads are actually not so common in Ruby, and as a result there is no threadpool library by default. If there are tasks that need to be performed in parallel, people usually use processes, because processes can scale on multiple servers.
If you need to use threads, I would recommend you use https://github.com/meh/ruby-threadpool on the JRuby platform, which is a Ruby interpreter running on the JVM. This should be right up your walkway, and since it runs on a virtual machine, it will have true threading.
source share