非同期プログラミングとマルチスレッド:重要な違い非同期プログラミングとマルチスレッドはしばしば混乱しますが、完全に異なる概念です。 非同期プログラミング
非同期プログラミングのコアは
非ブロッキング操作です。非同期方法で「待ち望まれている」式に遭遇した場合、タスクが完了するのを待つようにスレッドの実行をブロックしません。代わりに、メソッドの残りの部分を継続に登録し、非同期メソッドの呼び出し元に制御権の制御を支払います。
非同期方法が追加のスレッドを作成する必要がないことが重要です。非同期メソッドは現在の同期コンテキストで実行されているため、アクティビティ中にスレッド時間のみが使用されます。 「task.run」は、CPU密度の高い作業をバックグラウンドスレッドにアンインストールできますが、これは結果を待つプロセスだけでは無効です。
multi -threadマルチスレッドには、複数の作業スレッドにタスクを割り当てることが含まれます。各プロセッサは、割り当てタスクを個別に処理します。これらの作業スレッドを調整して、リソースの競合を防ぎ、適切な補償が複雑さを高めることを確認します。
単純なメタファー
レストランの例は、2つの違いを理解するのに役立ちます:
同期:最初に卵を炒め、次にパンを焼きます。
シングルスレッド:フライドエッグとグリルパンを同時に開始し、同時に他のタスクを実行します。クロノグラフの通知が料理を完了するとき。
残りの方法を継続として登録し、Webサイトの長さが利用可能なときに実行します。
ここで操作する場合、発信者は他のタスクを実行し続けることができます。完了後、実行は続き、ラベルテキストはWebサイトの長さに設定されます。
要するに、非同期プログラミングは、単一のスレッドで他の操作の進行なしにタスクを実行する方法を提供します。この方法により、コード効率を改善し、リソースの利用を可能にします。
以上が非同期プログラミング対マルチスレッド:違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。