Feature #12019
openBetter low-level support for writing concurrent libraries
Description
Nowadays, almost every processor has more than one core. Therefore it becomes more and more important for languages to have good support of concurrent and/or parallel computation. Currently Ruby supports concurrency mainly through high-level classes: Thread
, Queue
, Mutex
, Monitor
, ConditionVariable
.
This work is not colliding with plans for Ruby 3 (to provide an easy-to-use and safe concurrent abstraction to Ruby users). Following proposals suggest several key low-level Ruby extensions which will allow those interested in these topics to create fast concurrency abstractions (gems) for Ruby community, providing more choices and complementing the effort of Ruby 3. The proposed APIs are not expected to be used for every day programming but rather by concurrency enthusiast.
This issue is intended to serve as an aggregator for other various proposals described in following issues.