增加 Golang Chan 超时.
Signed-off-by: chen.yang <chen.yang@yuzhen-iot.com>
This commit is contained in:
parent
fa33b05e7c
commit
a8bc6197e8
|
@ -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
|
||||
}
|
||||
```
|
Loading…
Reference in New Issue