It looks like from a brief glimpse into the source code that the library is using Ruby Fiber's under the hood instead of Threads.
From my limited understanding, the programmer has to be explicit about starting and resuming the work within a Fiber as opposed to the Ruby VM.