Go は、同時実行性を高度にサポートし、Goroutine と Channel という 2 つのアーティファクトを備えた非常に効率的な言語です。ゴルーチンとチャネルベースの同時実行アプローチにより、利用可能なすべての CPU コアを使用して同時 IO を処理することが非常に簡単になります。
このチュートリアルの動作環境: Windows10 システム、GO 1.11.2、thinkpad t480 コンピューター。
Go 言語が同時実行に適している理由
Go は、同時実行を高度にサポートする非常に効率的な言語です。 Go 言語は、開発効率と運用効率が完璧に融合しており、同時プログラミングが本質的にサポートされていると言えます。 Go 言語は、手続き型プログラミング、オブジェクト指向プログラミング、インターフェイス指向プログラミング、関数型プログラミングなど、現在のすべてのプログラミング パラダイムをサポートします。プログラマーは必要なものを入手し、それらを自由に組み合わせて、好きなようにプレイできます。
並列プログラミングと非同期プログラミングはほとんど苦痛がありません。 Go 言語の 2 つの成果物、Goroutine と Channel は、同時プログラミングおよび非同期プログラミングにとって非常に大きな恩恵です。 C、C、Java、Python、JavaScript などの言語の同時実行性と非同期メソッドは、制御するには複雑すぎてエラーが発生しやすくなっていますが、Go はこの問題を非常にエレガントかつスムーズに解決します。長年にわたって同時実行性と非同期プログラミングに悩まされてきたプログラマにとって、これはまったく驚くべき感覚です。 Go は、ビッグデータ、マイクロサービス、同時実行のために開発されたプログラミング言語です。
言語としての Go は、物事をシンプルにすることを目指しています。新しい概念はあまり導入されていませんが、信じられないほど高速で使いやすいシンプルな言語を作成することに重点を置いています。その唯一の革新はゴルーチンとチャネルです。ゴルーチンは Go の軽量のスレッド指向アプローチであり、チャネルはゴルーチン間の通信に推奨される方法です。
ゴルーチンの作成コストは非常に低く、必要な追加メモリは数千バイトだけです。これにより、数百、さらには数千のゴルーチンを同時に実行することが可能になります。ゴルーチン間の通信はチャネルを利用して実現できます。ゴルーチンとチャネルベースの同時実行アプローチにより、利用可能なすべての CPU コアを使用して同時 IO を処理することが非常に簡単になります。 Python/Java と比較すると、ゴルーチンで関数を実行するには最小限のコードが必要です。
推奨学習: Golang チュートリアル
以上がなぜ Go 言語は同時実行に適しているのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。