私は現在、のスライスを読んでいます。同時実行パターンになります。私はslide #16上の文の間に外見上の矛盾について少し混乱しています:メインはちょうど正常なゴルーチンですか?
すると、メイン戻り、プログラムが終了し、それを退屈な機能をダウンかかります。
及び(example on slide #20と組み合わせて)slide #19上のもう一つ:
進み、チャネルは、それらが通信することを可能にする、2つのゴルーチン間の接続を提供します。
main
はちょうどゴルーチン、どのようにそれは言い換えれば、停止する任意の他の(生まれた)ゴルーチンを引き起こす可能性がありますの場合:どのような意味でゴルーチンがmain
特別に命名されますか? **
私はそれを探し、これまでのところ明らかに啓発何も見つかりませんでした。有望なタイトルDifference between the main goroutine and spawned goroutines of a Go programのSOの質問は全く別の問題を求めています。
編集:は
編集(ゴーランタイム機能Goexit時にひっかかった後)、「ノーマル」のメインとゴルーチンの違いに焦点を当て、タイトルを変更:簡素化問題、さらに焦点を合わせますメインの詳細について
「他のゴルーチンをどうやってコントロールできますか」とはどういう意味ですか?他に何かを支配するゴルーチンの言及はないようです。プログラムがmain()から戻ると、プロセス全体が終了/終了することに注意してください。 main()はgouroutineのほぼ「ちょうど」です。しかし、プログラム全体の実行が開始されるのは当然です(init()関数の実行に加えて)。main()が終了すると、プロセスは終了します。 – nos
@nos私は質問でこれを明確にしようとしました、それが単に英語が悪ければ、非母語話者を助けてください。 – Wolf
@nos * '...ほとんど"ちょうど "gouroutine。しかし、それは特別なものです。 '*私が求めているのは正確です(もっと詳しく説明できますか?)。スライドの最初の例は、メインと別のゴルーチンとの間のチャネル通信を示しています。私はこれをWindowsのスレッドと比較するので、もっと詳細に興味がありました(そこには、それぞれのスレッドが同等の意味でプロセスを実行し続けることができますが、それぞれプロセスを終了できます)。 (私はすでに知っています:goroutinesはスレッドではありませんが、比較するとコンセプトをよりよく理解することを望みます) – Wolf