Golang频道选择声明

Fer*_*ras 7 concurrency go channels

刚试试去吧.我想知道如果你有一个select语句等待几个频道上的通信,并且一条消息在两个或多个频道上同时出现,会发生什么.如果所有消息同时出现,select将如何确定接受哪个频道?

谢谢!

nem*_*emo 18

规格:

如果可以进行多种情况,则进行统一的伪随机选择以决定将执行哪个单个通信.

所以选择是非确定性的.

  • 这种非确定性是CSP的重要组成部分,Go以其渠道为基础.并行活动在CSP中是严格确定的,这是违反直觉的.只有在做出选择(即选择)时才会出现非确定性. (3认同)