(a)はスクラッチ同時実行からそれを学ぶ行く:あっちへ行け

ゴーチェン(ゴルーチン)はゴーラン軽量スレッドによって管理されています。

ときゴルーチンの作成、およびとき囲碁プログラムによって実行される他のゴルーチン、スケジューリングと管理ゴルーチンと並行して実行されます。

プログラム()関数を行くプログラムが起動したときに、メインメインパックから始まり、プログラムが行く()関数は、メインゴルーチンのデフォルトを作成します

メインのすべてのゴルーチンは()関数の最後で終了します。

共有メモリにアクセスするときと同じアドレス空間で実行を離れて行く、それを同期させる必要があります。

 

初出:

行く関数名(パラメータリスト)

(と言って行く世界

あなたはゴルーチン使用行くのキーワードを作成すると、呼び出された関数の戻り値は無視されます。

ゴルーチンデータを返すために、発信ゴルーチンからの戻り値としてデータチャネルによって、後述するチャネル(チャネル)の特性を使用します。

 

匿名関数を作成します:

FUNCを行く(パラメータリスト){

関数本体

}(パラメータリストを呼び出します)

FUNCを行く(Sの文字列){
  のための I:= 0 ; 私は< 5I ++ { 
  time.Sleep(100 * time.Millisecond)
  fmt.Println(S)
 } 
}(" こんにちは"

 

業績の同時調整:

接地することができる行く()関数は、runtime.GOMAXPROCSによって行われます

runtime.GOMAXPROCS(論理CPUの数)

ここでは、論理CPUの数は、次のようにいくつかの値は持つことができます。

<1:任意の値を変更しません

= 1:シングルコア実行

> 1:同時にマルチコア

通常の状況下では、クエリのそれを使用することができるruntime.NumCPU()数CPU、及びruntime.GOMAXPROCS()関数は、例えば、提供されます。

runtime.GOMAXPROCS(runtime.NumCPU())

コードは、同時にCPUの最大効率的な利用を実行させるために行く1.5バージョン、上記の文のデフォルトの実装を開始します。

おすすめ

転載: www.cnblogs.com/VingB2by/p/11119866.html