我见过几个这样的例子:type data struct { request chan string response chan bool}并像这样使用:db := &data{make(chan string), make(chan bool)}if db.request<- "boo"; !<-db.response { do something ...}来自响应通道的“轮询”不会阻塞吗?有时也不会在通道的另一端响应之前评估 if 条件吗?这种模式是否在标准库中的任何地方使用?
1 回答
四季花海
TA贡献1811条经验 获得超5个赞
你没有轮询任何东西,是的,通道接收操作总是会阻塞。
<-db.response
是正常的接收操作。该db.response
议员必须是chan bool
,而且!
是合乎逻辑的“而不是”一元运算符。
- 1 回答
- 0 关注
- 196 浏览
添加回答
举报
0/150
提交
取消