diff --git a/Software/Development/Language/Go/Basic/Chan/Golang_Chan_超时.md b/Software/Development/Language/Go/Basic/Chan/Golang_Chan_超时.md new file mode 100644 index 0000000..12601c9 --- /dev/null +++ b/Software/Development/Language/Go/Basic/Chan/Golang_Chan_超时.md @@ -0,0 +1,28 @@ +# Golang Chan 超时 + +```go +package main + +import ( + "fmt" + "time" +) + +var ch chan int = make(chan int, 1) + +func main() { + go aaa() + + select { + case <-ch: //拿到锁 + fmt.Println("call") + case <-time.After(5 * time.Second): //超时5s + fmt.Println("5 sec call") + } +} + +func aaa() { + time.Sleep(time.Second * 3) + ch <- 1 +} +```