goroutine でサーバーを実行しますか?

王林
リリース: 2024-02-11 08:30:08
転載
434 人が閲覧しました

在 goroutine 中运行服务器?

php エディタ Apple は、この記事で次の質問について説明します: 「ゴルーチンでサーバーを実行する?」ゴルーチンは、プログラム内でデータを作成できる Go 言語の軽量同時実行メカニズムです。同時実行ユニットの数。しかし、Goroutine でサーバーを実行することは可能でしょうか?この質問に対する答えは単純ではなく、考慮すべき要素がいくつかあります。次のコンテンツでは、この問題を調査し、いくつかの解決策を示します。

質問内容

Kafka メッセージをリッスンする Golang サービスがありますが、ヘルスチェックのためにそのサービス内で http サーバーも起動したいと考えています。サーバーコードはシンプルです:

リーリー

main 関数では、Start() 関数のみを呼び出します。

リーリー

これでいいですか?それとも、次のような goroutine でこれを行うべきですか:

リーリー

main.go では、キュー リスナーの初期化、データベースなど、他にも多くの処理が行われます。

回避策

Run がメインスレッドをブロックしたくない場合は、go ルーチンが必要になります。

go server.Start()

以上がgoroutine でサーバーを実行しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:stackoverflow.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート