欢迎光临散文网 会员登陆 & 注册

go并发-有缓冲chan的应用场景

2023-02-10 10:54 作者:脱缰小野马の  | 我要投稿

阻塞场景

ch如果为空, 读取会阻塞,

ch如果为满, 写入会阻塞.

实现目标

为了上面两种场景不阻塞

解决发难

判空与读取放在一个事务

判满与写入放在一个事务

方式1:select+default, 缺点,会把ch取一个或存一个(改变了ch的状态)

方式2:两种独特的case,直接使用if


go并发-有缓冲chan的应用场景的评论 (共 条)

分享到微博请遵守国家法律