Goroutines 协程在长期阻塞的状态下怎样跳过阻塞或者终止 协程
如题,我在做tcp服务端发现如果用户端无响应就始终阻塞在读取,无法结束Goroutines ,怎样才能内部或外部停止Goroutines
超时可以采用这种做法
timeout :=make(chan bool ,1)
go func(){
time.Sleep( SomeTime )
timeout<-true
}()
select {
case <-theRealChannel:
doSomeThing
case <-timeout
doSomeThing
}
#8
更多评论