2017-11-30 1 views
0

私はWPFアプリケーションで非同期と待機の理由を理解しました:これは時間を無駄にしないメインUIスレッドへの許可です。ユーザーはUIと対話できますが、I/O操作は同時に待機しています。asyncとasp.netコアmvc​​ Webプロジェクトで待ちます

私が理解していないのは、ASP.Net Core MVC 2.0で同じ概念が理解できる理由です。 WebMethodの[HTTPGET]、[HttpPost]ページをレンダリングする前に、とにかく待つ必要があります...

おかげ

答えて

0

それはあなたがどんな非同期操作であなたのコントローラに他の要求ではなく、ビジー待機にサービスを提供するためにCPUを解放しますやってThis answerを説明するためのかなり良いアナロジーがあります。バスに乗るようなことの

と思いますが、乗るのを待って5人があります、最初は上なり、支払い、(ドライバがその要求を処理した)座って、あなたは乗ります(運転手があなたの要求を処理しています)が、あなたはお金を見つけることができません。あなたのポケットの中でうろつき、運転手があなたをあきらめて次の二人を(要求を処理する)手に入れます。あなたのお金を見つけたら、運転手があなたをもう一度やり直す(あなたの要求を完了します)。あなたは終わったのですが、3人目と4人目の人達は奉仕を受ける途中で奉仕しました。これは、ドライバがプールからの唯一のスレッドであり、乗客がリクエストであることを意味します。

非同期コントローラがないと、お金を探している間、乗客は何歳も待たなければなりません。一方、バス運転手は何の仕事もしません。

関連する問題