Closed DukeAnn closed 4 years ago
问题复现代码
package main import ( "fmt" "time" ) var b bool func main() { go setB() test() } func setB() { time.AfterFunc(10*time.Second, func() { fmt.Println("set true") b = true }) } func test() bool { ticker := time.NewTicker(time.Millisecond * 100) defer ticker.Stop() //timeout := time.After(time.Second) for { select { case <-ticker.C: if IsRunning() { return true } case <-time.After(time.Second): fmt.Println("timeout") return false } } } func IsRunning() bool { //<-time.After(2 * time.Second) return b }
问题复现代码