outChannel := make(chan struct{})for out := range outChannel {}
我有一个生产者正在向outChannel写入数据,并希望在读取时超时但是,由于我只见过使用select和多个case从通道读取的构造(at:),所以在使用range时,这似乎不适用。
我正在尝试为golang中的视频流编写缓存代理。或者如何存储(缓存)和安全(快速)访问多个goroutine中的数据?我尝试了几个选项,使用互斥锁和通道,但它们都不起作用。下面是几个可以处理错误的示例。在goroutine中对Write()的包装调用(在客户端使用互斥锁)没有帮助--有与通道(下一个例子)相同的延迟,此外go不保证goroutines的执行顺序。time.Millisecond))
wn, e := client.conn.W