为了账号安全,请及时绑定邮箱和手机立即绑定

可变长度通道创建

可变长度通道创建

Go
慕运维8079593 2021-08-23 16:50:29
我正在尝试编写一个队列,我需要“增长”我的缓冲通道,有没有办法做到这一点而不必创建一个新的并将元素移动到新的?
查看完整描述

2 回答

?
智慧大石

TA贡献1946条经验 获得超3个赞

为什么要增加 chan 大小?您是否希望拥有一个无论是否有读者都可以继续写作的chan?

如果是这样,你应该使用一个拥有队列和两个通道(读通道和写通道)的 goroutine。goroutine 将在内部保留一个包含所有已写入项目(通过 write chan 接收)的项目切片,并且它将继续尝试写入 read chan,这将阻塞,直到有读者从中读取。

希望这有帮助


查看完整回答
反对 回复 2021-08-23
  • 2 回答
  • 0 关注
  • 185 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信