Ruby 3.0 and the new FiberScheduler interface

Wander Hillen
Mon, 28 Dec 2020 00:00:00 UT

From Ruby 3.0 onwards, it is possible to use user-defined schedulers to implement efficient non-blocking I/O when using Fibers. In this article I take a look at how that works under the hood and how to make use of this scheduler in gems that use C extensions.