可变长度通道创建

我正在尝试编写一个队列,我需要“增长”我的缓冲通道,有没有办法做到这一点而不必创建一个新的并将元素移动到新的?


慕运维8079593
浏览 186回答 2
2回答

智慧大石

为什么要增加 chan 大小?您是否希望拥有一个无论是否有读者都可以继续写作的chan?如果是这样,你应该使用一个拥有队列和两个通道(读通道和写通道)的 goroutine。goroutine 将在内部保留一个包含所有已写入项目(通过 write chan 接收)的项目切片,并且它将继续尝试写入 read chan,这将阻塞,直到有读者从中读取。希望这有帮助
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go