3

私のアプリには 12 から 13 の長時間実行されるゴルーチンがあり、それらは数千の短期間のゴルーチンの出入りを担当しています。

定期的に runtime.Gosched() を呼び出す以外に、実行時間の長いもので他のことを検討する必要がありますか?

注: 現在、これらの長時間実行されているものは、リソースのコレクションに対して 15 ~ 30 秒ごと (および数分ごと) にいくつかの監視を実行し、その後スリープします。

4

1 に答える 1

2

いいえ、ゴルーチンに継続的なメンテナンスは必要ありません。それらはgoランタイムによって管理され、戻るか、メインのゴルーチンが終了するまで実行を続けます。runtime.Gosched()を呼び出す必要はありません。これは、ルーチンがそれ自体を生成しない場合にのみ必要になるためですが、ほとんどの時間はスリープ状態になります。

于 2013-03-13T21:10:37.150 に答える