ホームページ >バックエンド開発 >Golang >golang 同時プログラミングとは何ですか?

golang 同時プログラミングとは何ですか?

(*-*)浩
(*-*)浩オリジナル
2019-12-13 14:16:181973ブラウズ

golang 同時プログラミングとは何ですか?

要するに、いわゆる同時プログラミングとは、1 つのプロセッサ上で複数のタスクを「同時に」処理することを指します。

Golang 言語では、コルーチンを同時に使用する仕組みも実装するのに非常に便利で、go キーワードを使用するだけです。 (推奨学習: go)

func main() {
    ...
    go fun(){
        fmt.Println("Hi, Here is a goroutine.")
    }()
    ...
}

Goroutine とは

Goroutine は Go 並列設計の中核です。最終的な分析では、ゴルーチンは実際にはスレッドより小さいコルーチンです。12 個のゴルーチンが下部の 5 つまたは 6 つのスレッドに反映される場合があります。Go 言語は、これらのゴルーチン間のメモリ共有を実現するのに役立ちます。

ゴルーチンの実行に必要なスタック メモリは非常に少なく (約 4 ~ 5 KB)、もちろん対応するデータに応じて拡張されます。このため、何千もの同時タスクを同時に実行できます。 Goroutine はスレッドよりも使いやすく、効率的で、軽量です。

通常の状況では、数十のスレッドを実行する通常のコンピューターは少し過負荷になりますが、同じマシンでも数百または数千の goroutine がリソースをめぐって競合する可能性があります。

Goroutine の作成

関数呼び出しステートメントの前に go キーワードを追加するだけで、同時実行ユニットを作成できます。開発者は実行の詳細を知る必要はなく、スケジューラが適切なシステム スレッドで実行できるように自動的に調整します。

並行プログラミングでは、通常、プロセスをいくつかの部分に分割し、各 goroutine に 1 つの作業を担当させたいと考えます。プログラムが開始されると、main 関数は別の goroutine で実行されます。そのメインのゴルーチンを呼び出します。新しい goroutine は go ステートメントを使用して作成されます。

Go 言語の同時実行設計により、この目標を簡単に達成できます

以上がgolang 同時プログラミングとは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。