質問

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!

役に立ちましたか?

解決

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.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top