golangで、chanの受信をしているコードがあった。
普通に?1行で受信しているのではなく、selectのcaseで受信していたのだ。
しかも複数chan!
受信って、バッファがあるときはどうだったか忘れたけど、ブロッキングになってるんじゃなかったっけ?
そうでもないらしい。
Go言語でチャネルとselect - Qiita
https://qiita.com/najeira/items/71a0bcd079c9066347b4#select
selectだからというわけでもないだろうが、selectシステムコールのように複数の待ち受けができるらしい。
もしselectがなかったら、どうするんだろう? 非同期はgoroutineで対処するものなのだろうから、どうしようもないのかな。。。
0 件のコメント:
コメントを投稿
コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。
注: コメントを投稿できるのは、このブログのメンバーだけです。