goroutinesとtime.sleep()
goroutinesで作業する場合、time.sleep()の必要性に遭遇することが一般的です。この記事では、ゴロウチンの実行におけるtime.sleep()の重要性に分かれ、それを省略することの結果を調査します。スレッドとは異なり、ゴルチンはGOランタイムによって管理され、プログラムの他のゴルチンとメモリを共有します。 time.sleep()ステートメントは、繰り返しあたり100ミリ秒間ゴルウチンの実行を人為的に遅延させます。これは、Go Goroutineスケジューラが非領土であるためです。 Goroutinesは自発的に制御を導き、他のゴルチンが実行できるようにします。 time.sleep()が削除されると、プライマリゴルウチンはコントロールを放棄することなく5回( "Hello")を実行します。その結果、Say( "World")Goroutineが実行されることはなく、「Hello」のみが画面に印刷されます。これは、プログラムを生かし続けるために他のゴルチンが実行されていないためです。逆に、time.sleep()を使用すると、say( "world")ゴルウチンが制御を生み出し、プライマリゴルウチンの実行を可能にし、プログラムを実行し続けることができます。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3