golang chan 超时

Posted 黑手党老k

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了golang chan 超时相关的知识,希望对你有一定的参考价值。

golang chan 超时

Posted on 2013-12-24 13:03 oathleo 阅读(4227) 评论(0)  编辑  收藏 技术分享
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
}

以上是关于golang chan 超时的主要内容,如果未能解决你的问题,请参考以下文章

golang的并发

Golang: chan定义问题

Golang:我可以转换为 chan 接口

golang close_chan

在Golang中实现有无限容量的同步Queue

java实现golang类似的chan