我正在尝试在 Go 中构建一些缺少的信号量。尽管当通道接收到信号时它就会永远休眠。
我尝试过改变睡眠方式和睡眠时间,但它仍然永远停止。
这是我尝试过的表示:
func main() {
backOffChan := make(chan struct{})
go func() {
time.Sleep(2)
backOffChan <- struct{}{}
}()
for {
select {
case <-backOffChan:
d := time.Duration(5 * time.Second)
log.Println("reconnecting in %s", d)
select {
case <-time.After(d):
log.Println("reconnected after %s", d)
return
}
default:
}
}
}
我希望它在打印日志消息并返回后返回。
暮色呼如
相关分类