ホームページ  >  記事  >  バックエンド開発  >  Pythonコルーチンのスケジューリングのプロセスは何ですか?

Pythonコルーチンのスケジューリングのプロセスは何ですか?

WBOY
WBOY転載
2023-05-12 11:40:171517ブラウズ

1. asyncRun 呼び出しは、コルーチンをイベント キューに入れることができます。ループはイベント ループ (スケジューラーとも呼ばれます) への入り口です。ループ呼び出しは、スレッド コントロールをコルーチン スケジューラーに渡します。

2. スケジューラは、今後も継続的にイベント キューからコルーチンや通常の関数を抽出し、実行してスケジュールします。

スケジュールと実行のプロセス中に、これらのイベントはさらに多くのイベントを生成する可能性があるため、引き続き実行されます。

from queue import Queue
 
 
class __EventQueue:
    def __init__(self) -> None:
        self.__eventQueue = Queue()
 
    def pushCallback(self, fn):
        self.__eventQueue.put(fn, block=True)
 
    def getCallback(self):
        return self.__eventQueue.get(block=True)
 
eventQueue = __EventQueue()

以上がPythonコルーチンのスケジューリングのプロセスは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。