ゼロから始める: Go 言語での goroutine の定義と特性を調べる
Go 言語では、 goroutine はコードを同時に実行できる軽量のスレッド管理メカニズムです。簡単に。従来のスレッドやプロセスと比較して、ゴルーチンの作成と破棄は効率的であるため、Go 言語では通常、同時処理タスクの実装にゴルーチンが使用されます。
1. ゴルーチンの定義
Go 言語では、ゴルーチンは実際には通常の関数またはメソッドです。新しいゴルーチンを開始するには、キーワード go
を使用します。 go
キーワードを使用して関数を呼び出すと、関数は独立した goroutine としてバックグラウンドで実行されます。
次に、ゴルーチンの作成方法を示す簡単な例を示します。
package main import ( "fmt" ) func sayHello() { fmt.Println("Hello, goroutine!") } func main() { go sayHello() fmt.Println("Main goroutine") }
上記のコードでは、sayHello
関数が使用されていますgo
キーワード呼び出し。sayHello
関数がバックグラウンドで goroutine として実行されることを意味します。このコードを実行すると、「Hello, goroutine!」と「Main goroutine」が同時に出力され、2つのゴルーチンが同時に実行されたことがわかります。
2. goroutine の特徴
以下は、Goroutine 通信を示す例です:
package main import ( "fmt" "time" ) func sender(ch chan string) { time.Sleep(2 * time.Second) ch <- "Hello, goroutine!" } func main() { ch := make(chan string) go sender(ch) fmt.Println("Main goroutine") msg := <-ch fmt.Println(msg) }
上記のコードでは、sender
関数はチャネル ## を通じてマスターにメッセージを送信します。 #ch ゴルーチンがメッセージを送信し、メインのゴルーチンがメッセージの受信を待って出力するゴルーチン間の通信はチャネルを介して実現されます。
以上がゼロから始める: Go 言語の goroutine の定義と特徴を探るの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。