Gevent/Greenletが次のグリーンレットを実行する方法を理解しようとしています。スレッドはOSスケジューラを使用します。 Go Runtimeは2つの階層キューを使用します。Geventは次のグリーンレットをどのように選ぶのですか?
デフォルトでは、Geventはlibeventを使用しています。 しかし、多くの人が準備ができていると、libeventは次のグリーンレットをどのように実行するのですか?
ランダムですか?
私はすでにドキュメントを読んでいて、ソースコードを確認していました。まだ知りません。
更新:Geventがlibeventを使用することを認識するようにテキストが変更されました。問題はまだlibeventに適用されます。
まず、グリーンレット自体は何も選択していないことに注意してください。グリーンレットはあるコルーチンが他のコルーチンに降伏するメカニズムを提供するだけです。 geventはgreenlet + libevent、libeventはイベントループを提供します。 – jwg
それと同等ですがより正確な質問は、次のようになります。多くの人が準備ができている場合、Gevent内で使用する場合、libeventは次に実行されるgreenletをどのように選択しますか? – alanjds
@alands、はい、私はそう信じています。 – jwg