なぜこのゴルーチンはブロックするのですか?

晴れ:

このゴルーチンはブロックします...

go log.Fatal(http.ListenAndServe(":8000", nil))
log.Print("This doesn't print")

このゴルーチンはブロックしません...

go func() {
    log.Fatal(http.ListenAndServe(":8000", nil))
}()
log.Print("This prints")

このゴルーチンもブロックしません...

go http.ListenAndServe(":8000", nil)
log.Print("This prints")
ダニーロ:

これは仕様によると:

関数の値とパラメーターは、呼び出しゴルーチンで通常どおり評価されます。

https://golang.org/ref/spec#Go_statements

go log.Fatal(http.ListenAndServe(":8000", nil))

最初のパラメータは

http.ListenAndServe(":8000", nil)

これは、関数log.Fatalをgoroutineとして実行する前に評価されるため、ブロックされます。

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

これらのゴルーチンがブロックしないのはなぜですか?

分類Dev

Kotlinコルーチンがこのコードをブロックするのはなぜですか?

分類Dev

ネットワークI / Oのゴルーチンがブロックされているのはなぜですか?

分類Dev

ゴルーチンがこのチャネルで選択しているにもかかわらず、書き込みチャネルがブロックされているのはなぜですか?

分類Dev

致命的なエラーがあるのはなぜですか:すべてのゴルーチンがスリープしています-デッドロック!このコードでは?

分類Dev

なぜコントロールはこの条件付きチェックのためにelseブロックに行くのですか?

分類Dev

なぜこのHTTPサーバーでメインルーチンをgoroutineブロックするのですか?

分類Dev

このマルチプロセッシングコードが失敗するのはなぜですか?

分類Dev

なぜJavaダブルチェックロックシングルトンはvolatileキーワードを使用する必要があるのですか?

分類Dev

このチャネルの送信がブロックされないのはなぜですか?

分類Dev

このデーモンスレッドがブロックされているのはなぜですか?

分類Dev

このテンソルフロー コードがクラッシュするのはなぜですか?

分類Dev

このコードキャッチブロックが実行されないのはなぜですか?

分類Dev

単純なユースケースでマルチプロセッシングのBaseManagerをサブクラス化するのはなぜですか?

分類Dev

これらのゴルーチンがコンソールに出力されないのはなぜですか?

分類Dev

なぜこのgoコードはゴルーチンで何かを出力しないのですか

分類Dev

HyperledgerFabricでブロックチェーン構造が使用されるのはなぜですか?

分類Dev

Python:マルチプロセッシングロックがここのプロセス間で共有されるのはなぜですか?

分類Dev

whileループがイベントループをブロックするのはなぜですか?

分類Dev

なぜこのルーチンがリークするのですか?

分類Dev

なぜ開発ツールはこのインライン要素をブロックとしてリストするのですか?

分類Dev

Javaでシングルトンパターンを設計するときに、なぜダブルチェックロックが必要なのですか?

分類Dev

なぜこれがゴルーチンでとても遅いのですか?

分類Dev

なぜこれがゴルーチンでとても遅いのですか?

分類Dev

なぜこのゴルーチンはwg.Done()を呼び出さないのですか?

分類Dev

joinがメインスレッドをブロックするのに、ループでブロックしないのはなぜですか?

分類Dev

このFTPブロック読み取り操作がEOFErrorをスローするのはなぜですか?

分類Dev

なぜこのプログラムはゴルーチンでパフォーマンスが良くないのですか?

分類Dev

このテストでピーターソンのロックが失敗するのはなぜですか?

Related 関連記事

  1. 1

    これらのゴルーチンがブロックしないのはなぜですか?

  2. 2

    Kotlinコルーチンがこのコードをブロックするのはなぜですか?

  3. 3

    ネットワークI / Oのゴルーチンがブロックされているのはなぜですか?

  4. 4

    ゴルーチンがこのチャネルで選択しているにもかかわらず、書き込みチャネルがブロックされているのはなぜですか?

  5. 5

    致命的なエラーがあるのはなぜですか:すべてのゴルーチンがスリープしています-デッドロック!このコードでは?

  6. 6

    なぜコントロールはこの条件付きチェックのためにelseブロックに行くのですか?

  7. 7

    なぜこのHTTPサーバーでメインルーチンをgoroutineブロックするのですか?

  8. 8

    このマルチプロセッシングコードが失敗するのはなぜですか?

  9. 9

    なぜJavaダブルチェックロックシングルトンはvolatileキーワードを使用する必要があるのですか?

  10. 10

    このチャネルの送信がブロックされないのはなぜですか?

  11. 11

    このデーモンスレッドがブロックされているのはなぜですか?

  12. 12

    このテンソルフロー コードがクラッシュするのはなぜですか?

  13. 13

    このコードキャッチブロックが実行されないのはなぜですか?

  14. 14

    単純なユースケースでマルチプロセッシングのBaseManagerをサブクラス化するのはなぜですか?

  15. 15

    これらのゴルーチンがコンソールに出力されないのはなぜですか?

  16. 16

    なぜこのgoコードはゴルーチンで何かを出力しないのですか

  17. 17

    HyperledgerFabricでブロックチェーン構造が使用されるのはなぜですか?

  18. 18

    Python:マルチプロセッシングロックがここのプロセス間で共有されるのはなぜですか?

  19. 19

    whileループがイベントループをブロックするのはなぜですか?

  20. 20

    なぜこのルーチンがリークするのですか?

  21. 21

    なぜ開発ツールはこのインライン要素をブロックとしてリストするのですか?

  22. 22

    Javaでシングルトンパターンを設計するときに、なぜダブルチェックロックが必要なのですか?

  23. 23

    なぜこれがゴルーチンでとても遅いのですか?

  24. 24

    なぜこれがゴルーチンでとても遅いのですか?

  25. 25

    なぜこのゴルーチンはwg.Done()を呼び出さないのですか?

  26. 26

    joinがメインスレッドをブロックするのに、ループでブロックしないのはなぜですか?

  27. 27

    このFTPブロック読み取り操作がEOFErrorをスローするのはなぜですか?

  28. 28

    なぜこのプログラムはゴルーチンでパフォーマンスが良くないのですか?

  29. 29

    このテストでピーターソンのロックが失敗するのはなぜですか?

ホットタグ

アーカイブ