今日は、asyncio の長所と短所について説明します。非同期 IO を学ぶには、コルーチンと asynico について知る必要があります。アシンシオの使い方は?以下に 1 つずつ答えてみましょう
利点
非同期 IO タスクに非常に使いやすい
asyncio を使用してイベント ループを取得します
そしてこれに進みます 物(コルーチン)がループに詰め込まれています
オペレーティングシステムは依然として単一のスレッドを認識しますが、マクロの観点からは「複数の同時実行性」を認識します(すべての言語はほぼ次のようなものです。ユーザーモードモデルでマルチスレッド)
欠点
エコロジーが未熟(aio-libsはあるが)、リクエストのようなライブラリにも対応する実装があると素晴らしい(人気が高いはず)
前提: アプリは前から後ろまで構築する必要があります それらはすべて非同期であり、多くのレガシー プロジェクトにとって負担になります
gevent + Python 2 との比較
多くのプロジェクトは Python 2 に基づいており、gevent を使用する効果は次のとおりです。当たり前です
唯一の心配は、gevent のウィルです。パッチ (ハック標準ライブラリ) がたくさんあり、目に見えるものはブラックボックスなので、gevent の効率が必ずしも asyncio よりも低いわけではありません。 + async def. 私たちとして asyncio を使用するにはどうすればよいですか?
フレームワーク(私は標準ライブラリのものを好みます)、基本的な設計方法として async def/await を使用します
aio-libs のさまざまなライブラリを使用します (最初から非同期である必要があります) )
信じられないかもしれませんが、これらの事例を読んだ後は、その方法を習得したことになります。さらに興味深い情報については、php 中国語 Web サイトの他の関連記事に注目してください。
関連書籍:CSS Web ページの位置ずれに対処する方法
以上がasyncio の長所と短所の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。