增加 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