问题
Just experimenting with go recently. I was wondering what will happen if you have a select statement waiting for communication on a few channels and if a message comes AT THE SAME time on two or more channels. How will the select determine which channel to accept if all the messages come at the same time?
Thanks!
回答1:
From the spec:
If multiple cases can proceed, a uniform pseudo-random choice is made to decide which single communication will execute.
So the choice is non-deterministic.
来源:https://stackoverflow.com/questions/19865194/golang-channels-select-statement