![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
go
一个新的开始
一个新的开始!
展开
-
启动多个协程
利用channel达到开关的效果,启动多个协程begin := make(chan interface{}) var group sync.WaitGroup for i := 0; i < 5; i++ { group.Add(1) go func(x int) { defer group.Done() <-begin fmt.Println("sta...原创 2019-07-24 10:10:29 · 645 阅读 · 0 评论 -
golang cond
https://blog.csdn.net/jinglexy/article/details/80516788Signal 发现等待最长时间的 goroutine 并通知它,而 Broadcast 向所有等待 的 goroutine 发送信号。package mainimport ( "fmt" "sync" "time")var locker = new(sync.Mutex...转载 2019-07-23 18:08:39 · 493 阅读 · 0 评论 -
go-gorilla的ping pong
业务需求,ping每隔60秒执行一次,ping两次后,没有得到pong的消息,自动切断client。pongTime=180 * time.SecondpingTime=60 * time.SecondreadPump()c.conn.SetReadDeadline(time.Now().Add(pongTime)) c.conn.SetPongHandler(func(string)...原创 2019-06-17 14:19:14 · 5822 阅读 · 0 评论