golang破片ラッキー飛行船プログラムの同時生産を仕上げ

並行性:複数のタスクを実行するために、同じ時間。
パラレル:複数のタスクを実行するために同じ時間。

幸いな飛行船の番組制作のq <115.28.8.00.9.9>

同時言語ゴルーチンの実施を通じて移動します。必要に応じてゴルーチン同様のスレッドは、ユーザ・モードに属するスレッドは、我々は同時ゴルーチンの仕事の数十万人を作成することができます。ゴルーチンは、言語に行くのスケジューリングを実行することによって行われ、スレッドは、オペレーティングシステムのスケジューリングによって行われます。
言語はまた、複数のゴルーチンとの間で行われる通信のチャネルを提供して行きます。ゴルーチンチャネルはCSP(逐次プロセスを伝える)同時実行モデルを維持するために行くの言語を達成するための重要な基盤です。

ゴルーチン
のJava / C ++での時間は、我々は並行プログラミングを達成したい、私たちはしばしば自分自身のスレッドプールを守りたい、そして自分自身がタスクを実行し、上行のテキストのスイッチを維持するためにスレッドをスケジュールするために別のタスクの後に1を詰めた後、自分自身にするために、すべての本通常、精神的なプログラマーの多くを費やします。メカニズムを持つことができない、プログラマは、タスクの数を定義し、システムがそれを強制するCPUの同時実行にこれらのタスクを割り当てるために私たちを助けることができるように必要ですか?言語ゴルーチンがこのようなメカニズムで行くそれが組み込まれているので、スケジューリングとコンテキスト切り替えのための言語レベルのメカニズム、その理由は、近代的な言語のGoプログラミング言語と呼ばれることができます。

ゴルーチン使用
用途行くキーワードの関数としてゴルーチンを作成するために、囲碁プログラムを。関数は、ゴルーチンが関数に対応する必要があり、複数のゴルーチンを作成することができます。

単一ゴルーチン開始
ゴルーチンを起動する方法は非常に簡単です、単に呼び出される関数(通常の関数と匿名関数)の前に行くのキーワードを追加します。
例えば:

パッケージメイン

インポート(
"FMT"

ハローFUNC(){
fmt.Println( "ハローゴルーチン")
}
FUNCのmain(){
ハロー()
fmt.Println( "主ゴルーチンがやった!")
}
この例では、次のステートメントハロー関数が実行する、シリアルであります結果はプリントを印刷した後、ハローゴルーチンメインゴルーチンが行われていることです!
私たちは機能のhelloを呼び出しプラスこの機能を実行するために開始ゴルーチンエリアでのキーワードの前に行く次こんにちは。

メインFUNC(){
こんにちは()行く
fmt.Println(「メインゴルーチンはDONE!」)
}
実装の結果は本体のみゴルーチンが行わ!そしてなぜ、こんにちはゴルーチンを印刷していない印刷するには、この時間は?
プログラムが起動すると、囲碁プログラム意志()関数は、メインのデフォルトのゴルーチンを作成します。主な機能は、ゴルーチンが異なるゴーストゴルーチンのような他の、王は右でナイトゲームのようなものですメイン、ゴルーチンメイン関数で終了します開始するゴルーチンが終わって、すべての()関数を返すときそれはGGのすべてを変換します夜に死ぬために、これらの異なるゴースト王。
だから私たちは、主な機能は、ハロー機能を待つようにする方法を見つける、最も簡単な方法は、ラフをスリープ状態にあります。

メインFUNC(){
こんにちは行く()
fmt.Println(「メインゴルーチンはDONE!」)
time.sleep(time.Secondが)
}
上記のコードを実行しますが、この時間は、最初の印刷メインゴルーチンがすぐに印刷後、!、行われていることがわかりますゴルーチンこんにちは!
まず、なぜ我々は新しいゴルーチン時間を作成する際にいくつかの時間を費やす必要があるため!行なわメインゴルーチンを印刷するが、主な機能は実行し続けることです。この時間ゴルーチン。

おすすめ

転載: www.cnblogs.com/jihuazhong/p/11250201.html