A go channel is just a queue with a configurable amount of buffering. Buffering 0 is the most interesting as it creates a “rendezvous” channel which syncs the sender and the receiver.
A channel of size 1 is a bit like an mvar but with support for only take and put.
A go channel is just a queue with a configurable amount of buffering. Buffering 0 is the most interesting as it creates a “rendezvous” channel which syncs the sender and the receiver.
A channel of size 1 is a bit like an mvar but with support for only take and put.
Closer to mvar. Tvars support full transactional semantics.