ホームページ  >  記事  >  バックエンド開発  >  Pythonのコルーチンとは何ですか? (分析例)

Pythonのコルーチンとは何ですか? (分析例)

乌拉乌拉~
乌拉乌拉~オリジナル
2018-08-23 17:42:001966ブラウズ

次の記事では、Python の コルーチンとは何なのかを見てみましょう。 pythoncoroutines と、Python プログラミングでコルーチンが果たせる役割について学びます。

python coroutine

スレッドとプロセスの操作は、システム インターフェイスを介してプログラムによってトリガーされ、最終的な実行者はシステムです。コルーチンの操作は次のとおりです。プログラマー。

コルーチンの存在の意義: マルチスレッドアプリケーションの場合、CPU はスライスによってスレッド間の実行を切り替えますが、スレッドの切り替え (状態を保存して次回に続行) に時間がかかります。コルーチンは 1 つのスレッドのみを使用して、1 つのスレッド内の特定のコード ブロックの実行順序を指定します。

コルーチンに適用可能なシナリオ: CPU を必要としない操作 (IO) が多数ある場合、コルーチンに適しています。

イベント ループはコルーチン実行の制御ポイントです。コルーチンを実行したい場合は、それらを使用する必要があります。

イベント ループは次の機能を提供します。

遅延呼び出しの登録、実行、キャンセル (非同期関数)

通信用のクライアントおよびサーバー プロトコル (ツール) の作成

他のプログラムと通信するサブプロセスとプロトコル (ツール) を作成する

関数呼び出しをスレッド プールに送信する

例を示します:

Coroutine インスタンス

import asyncio

asyncdef cor1():
    print("COR1 start")
    await
    cor2()
    print("COR1 end")
    
asyncdef cor2():
    print("COR2")
    
loop = asyncio.get_event_loop()
loop.run_until_complete(cor1())
loop.close()

最後の 3 行が焦点です。

asyncio.get_event_loop() : asyncio はデフォルトのイベント ループを開始します

run_until_complete() : この関数は、すべての非同期関数が実行されるまで実行をブロックします。

close () :イベントループを閉じます。

以上がこの記事の内容です、この記事では主に

python coroutineの関連知識を紹介しますので、上記の内容を理解するために活用していただければ幸いです。この記事で説明したことがあなたのお役に立ち、Python の学習が容易になることを願っています。

関連知識の詳細については、php 中国語 Web サイトの

Python チュートリアル 列を参照してください。

以上がPythonのコルーチンとは何ですか? (分析例)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。