6 ms·
You can think of closing the channel as sending a message “there will be no further messages”, the panic on write is enforcement of that contract. Additionally
by Kubuxu 1y ago
You can think of closing the channel as sending a message “there will be no further messages”, the panic on write is enforcement of that contract.
Additionally the safe way to use closing of a channel is the writer closing it.
If you have multiple writers, you have to either synchronise them, or don’t close the channel.
- throwawaymaths 1y agoSure but the fact that it is shared state is why you can't naively have a go channel that spans a cluster but Erlang's "actor" system works just fine over a network and the safety systems (nodedowns, monitors etc) are a simple layer on top.