I was thinking what would happen if multiple goroutines are executing select
over a set of channels where one/some of them are shared amongst them and while all of them are waiting, the shared channel becomes available.
Will runtime handle this case and allow only one goroutine to access the channel and do the read/write?