Golang并发模型:轻松入门select
之前的文章都提到过,Golang的并发模型都来自生活,select也不例外。举个例子:我们都知道一句话,“吃饭睡觉打豆豆”,这一句话里包含了3件事: 妈妈喊你吃饭,你去吃饭。 时间到了,要睡觉。 没事做,打豆豆。 在Golang里,select就是干这个事的:到吃饭了去吃饭,该睡觉了就睡觉,没事干就打豆豆。 结束发散,我们看下select的功能,以及它能做啥。 select功能 在多个通道上进行读或写操作,让函数可以处理多个事情,但1次只处理1个。以下特性也都必须熟记于心: 每次执行select,都会只执行其中1个case或者执行default语句。 当没有case或者default可以执行时,select则阻塞,等待直到有1个case可以执行。 当有多个case可以执行时,则随机选择1个c...阅读全文