
エントリーの編集

エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
【Golang】ゴルーチン③バッファ、チャネル - Qiita
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています

- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
【Golang】ゴルーチン③バッファ、チャネル - Qiita
package main //Buffered Channels //同じチャネルに複数ゴルーチンから送信 import "fmt" func main() ... package main //Buffered Channels //同じチャネルに複数ゴルーチンから送信 import "fmt" func main() { //1 //channelを作成 2はバッファ 2つまで受け取る。長さ //3つあるとエラーになる ch := make(chan int, 2) ch <- 1000 fmt.Println(len(ch)) //>>1 ch <- 2000 fmt.Println(len(ch)) //>>2 //ch <- 300はバッファサイズ以上になる為、エラー(デッドロック) //2 //一つ取り出す。channelの中は1つ減るため、追加できる /* x := <- ch fmt.Println(x) ch <- 3000 */ //3 //forで取り出す //2つ以上取りに行くため、エラーになる。 //チャネルに3つ目がないのに