本篇是看 Go Concurrency Patterns 的心得
简报网址:https://talks.golang.org/2012/concurrency.slide
在影片的前段,在稍微提到了 concurrency 和 parallism ,这里大部分的内容和 Concurrency is not Parallelism 有重叠的部分,Day6 到 Day10 也写过这篇演讲的内容,这篇我就不多提
以下我会从投影片里的 Pattern 开始
Rob Pike 在这提到,这里的 Pattern 和 OOP 的 Pattern 不一样,这里只是,只是想给出一些 concurrency 的例子
在 function 内部回传一个 receive-only channel,从外部看来就是提供一个 generator
这时就能把这个 function 当成一个服务一样,可以提供给多个人,但这个程序会有一些问题,Joe 和 Ann 一定会是 Joe 先印出来然後再换 Ann,这就不符合预期:要是 Ann 可能已经 ready 好要接收值了,但是他还是一定要等 Joe ready 好了才能轮到他。
Joe 0
Ann 0
Joe 1
Ann 1
Joe 2
Ann 2
Joe 3
Ann 3
Joe 4
Ann 4
我们可以写一个 Fan in function 或是称它为 Multiplexer。谁先的 channel 先 ready 了,就先印,这就解决刚刚的问题了。
来个示意图
到下一页讲解时我就卡住了,看了一下子没看懂,今天就先这样吧
<<: Day 13 - Spread Operator & Rest Operator
大纲 昨天完成header的部分了,所以接下来就会进入main的部分,今天要完成的是「PainPoi...
在资料处理的过程中,我们最常会面对的不外乎四种类型 数值 文字 影像 音讯 因此接下来几天会稍微针对...
好吧,昨天是有点扯淡,不过要真正学习近平大撒币,你可能不用开启一带一路的「项目」,你只需要够勇敢,比...
把昨天没讲完的 MySQL 操作补充一下 实作的时候记得打开 XAMPP。 更动资料"表&...
前言 经过昨天一连串得技术 跟程序轰炸 今天想分享一些使用laravel的心得 并且总结昨天的技术 ...