Go: 空の Select ステートメントの目的
質問:
net/http 内/httptest パッケージでは、次のような問題が発生しましたコード:
s.Config.Serve(s.Listener) if *serve != "" { fmt.Fprintln(os.Stderr, "httptest: serving on", s.URL) select {} }
このコードの空の select ステートメントの役割は何ですか?
答え:
のような空の select ステートメントselect {} は、空の for ステートメント (for {}) と同様のブロック メカニズムとして機能します。プログラムの実行を無期限に一時停止し、他のプロセスが発生する時間を確保します。
サポートされているほとんどの Go アーキテクチャでは、継続的な CPU 使用率を引き起こす可能性がある空の for ステートメントとは異なり、空の select ステートメントはプロセッサ リソースを解放します。したがって、長時間の待機時間が必要な場合は、多くの場合、{} を選択することが推奨されます。
以上がGo: 空の「select」ステートメントの目的は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。