Go使用协程交替打印字符 上传者:astray24933 2022-08-02 08:34:02上传 PDF文件 82.64 KB 热度 56次 半开方式首先我们用一个channel变量来控制两个goroutine的交替打印:结果发现打印出了ABBAABBA...的效果。也就是我们控制了开始的次序,但没有控制结束的次序,发生了并发不安全的情况。我们在循环体首尾都使用了阻塞独占模式,两个chan交替释放控制权,达到了安全的协程交互控制。而缓冲模式的第一生产者交给了主协程,两个goroutine结构一样,轮式交换角色。这里假设N=2,chan索引为0,1,当索引1要输出,就阻塞到索引0的chan有数据为止,当自己打印完后往自己的chan中发送一个1,方便给依赖自己的chan 解除阻塞。 下载地址 用户评论 更多下载 下载地址 立即下载 用户评论 发表评论