このプログラムが出力を生成するのはなぜですか

フッティ

私はGOグーグルから初めてですバッファリングされたチャネルには、次のプログラムがあります。

package main

import "fmt"
import "time"

func main() {
    c := make(chan int, 2)
    c <- 1
    fmt.Println(<-c)
    time.Sleep(1000 * time.Millisecond)
    c <- 2    
    fmt.Println(<-c)
}

出力を生成します。しかし、http//tour.golang.org/#64によると、次のように述べています。

バッファがいっぱいの場合にのみ、バッファされたチャネルブロックに送信しますバッファが空のときにブロックを受け取ります。

それが言うように、それはFULLのときにのみ送信します。なぜプログラムcは最初のステートメントでいっぱいになるのを無限に待つのではなく、出力を生成するのですか

ダニエル

チャネルのバッファサイズは2です。1つのintを入れてから、1つのintを引き出します。次に、あなたは眠り、プロセスを繰り返します。整数を引き出さずに3番目の整数を挿入しようとするまで、チャネルはブロックされません。最初の2つのintはバッファリングされます。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

このプログラムが「1」を出力するのはなぜですか?

分類Dev

このアセンブリプログラムが出力を生成しないのはなぜですか?

分類Dev

このプログラムがこのような出力を作成するのはなぜですか?

分類Dev

このhtmlプログラムがこのような出力を提供するのはなぜですか?

分類Dev

なぜこのプログラムは4を出力するのですか?

分類Dev

このプログラムがこの数値を出力するのはなぜですか?

分類Dev

このプログラムが2ではなく3を出力するのはなぜですか?

分類Dev

このプログラムが `YES`と` true`で異なる結果を生成するのはなぜですか?

分類Dev

このプログラムが最初の文字だけを出力するのはなぜですか?

分類Dev

プログラムが巨大な小数を出力するのはなぜですか?

分類Dev

このSSE2プログラム(整数)がmovap(フロート)を生成するのはなぜですか?

分類Dev

このプログラムを書くと奇妙な文字列が出力されるのはなぜですか?

分類Dev

このプログラムを書くと奇妙な文字列が出力されるのはなぜですか?

分類Dev

printf(i)がこのプログラムの出力として0を与えるのはなぜですか?

分類Dev

このデコレータプログラムが予期しない出力を生成するのはなぜですか?

分類Dev

このプログラムが目的の出力を出力しないのはなぜですか?

分類Dev

このPythonプログラムで出力が「bce」ではなく「cbe」になるのはなぜですか?

分類Dev

私のプログラムは出力を生成していません、これはなぜですか?

分類Dev

このプログラムが「forked!」と出力するのはなぜですか。4回?

分類Dev

このプログラムが一度表示して入力を要求するのではなく、出力を無限に表示するのはなぜですか

分類Dev

なぜこのCプログラムは(誤って)2の累乗を多数出力するのですか?

分類Dev

このPythonプログラムに次の出力があるのはなぜですか?

分類Dev

このプログラムの出力が間違っているのはなぜですか?

分類Dev

プログラムの終了後にexecが出力を出力するのはなぜですか?

分類Dev

このプログラムが「4」を出力しないのはなぜですか?

分類Dev

このC ++プログラムが出力を表示しないのはなぜですか?

分類Dev

このCプログラムがunsignedintを出力しないのはなぜですか?

分類Dev

このプログラムが提供した入力を出力しないのはなぜですか?(C)

分類Dev

fork()を使用するプログラムが出力を複数回出力することがあるのはなぜですか?

Related 関連記事

  1. 1

    このプログラムが「1」を出力するのはなぜですか?

  2. 2

    このアセンブリプログラムが出力を生成しないのはなぜですか?

  3. 3

    このプログラムがこのような出力を作成するのはなぜですか?

  4. 4

    このhtmlプログラムがこのような出力を提供するのはなぜですか?

  5. 5

    なぜこのプログラムは4を出力するのですか?

  6. 6

    このプログラムがこの数値を出力するのはなぜですか?

  7. 7

    このプログラムが2ではなく3を出力するのはなぜですか?

  8. 8

    このプログラムが `YES`と` true`で異なる結果を生成するのはなぜですか?

  9. 9

    このプログラムが最初の文字だけを出力するのはなぜですか?

  10. 10

    プログラムが巨大な小数を出力するのはなぜですか?

  11. 11

    このSSE2プログラム(整数)がmovap(フロート)を生成するのはなぜですか?

  12. 12

    このプログラムを書くと奇妙な文字列が出力されるのはなぜですか?

  13. 13

    このプログラムを書くと奇妙な文字列が出力されるのはなぜですか?

  14. 14

    printf(i)がこのプログラムの出力として0を与えるのはなぜですか?

  15. 15

    このデコレータプログラムが予期しない出力を生成するのはなぜですか?

  16. 16

    このプログラムが目的の出力を出力しないのはなぜですか?

  17. 17

    このPythonプログラムで出力が「bce」ではなく「cbe」になるのはなぜですか?

  18. 18

    私のプログラムは出力を生成していません、これはなぜですか?

  19. 19

    このプログラムが「forked!」と出力するのはなぜですか。4回?

  20. 20

    このプログラムが一度表示して入力を要求するのではなく、出力を無限に表示するのはなぜですか

  21. 21

    なぜこのCプログラムは(誤って)2の累乗を多数出力するのですか?

  22. 22

    このPythonプログラムに次の出力があるのはなぜですか?

  23. 23

    このプログラムの出力が間違っているのはなぜですか?

  24. 24

    プログラムの終了後にexecが出力を出力するのはなぜですか?

  25. 25

    このプログラムが「4」を出力しないのはなぜですか?

  26. 26

    このC ++プログラムが出力を表示しないのはなぜですか?

  27. 27

    このCプログラムがunsignedintを出力しないのはなぜですか?

  28. 28

    このプログラムが提供した入力を出力しないのはなぜですか?(C)

  29. 29

    fork()を使用するプログラムが出力を複数回出力することがあるのはなぜですか?

ホットタグ

アーカイブ