Lock-free Channels for Programming via Communicating Sequential Processes
Traditional concurrent programming involves manipulating shared mutable state. Alternatives to this programming style are communicating sequential processes (CSP) and actor models, which share data via explicit communication. Rendezvous channel is the common abstraction for communication between several processes. Intuitively, there are two types of processes, senders and receivers, which perform a rendezvous handshake as a part of their protocol. Additionally to this, channels support the
In this work, we present the first efficient lock-free channel algorithm, and compare it against Go and Kotlin baseline implementations.