0

Web レイヤーは asp.net でコーディングされており、ページは非同期としてマークされています。はい、aync のコーディングに推奨される方法は、RegisterAsyncTask を使用することです

ここで問題が発生しました。標準の RegisterAsyncTask ではなく、aync に AutoResetEvent と ManualResetEvent を使用しているページがいくつかあります。

非同期呼び出しを処理するこれらのオブジェクトは、スレッドプールのワーカー スレッドを使い果たすでしょうか? (これはワーカー スレッドを使い果たし、サーバーが他のクライアント リクエストを処理できなくなるため、お勧めしません。

また

彼らはIOスレッドを使用しますか?(通常、IO スレッドは RegsterAsyncTask での非同期呼び出しに使用されます。これは望ましいことです)

あなたの洞察に基づいて、これらのページの変更を提案する必要があります。ご意見をお願いします。

4

1 に答える 1

1

リセット イベント オブジェクトは、別のスレッド自体を使用しません。現在の状態と他のスレッドのアクティビティに基づいて、現在のスレッドをブロック/解放するだけです。

「[s]ync のために AutoResetEvent と ManualResetEvent を使用した」他のページがあると言うとき、正確にはどういう意味ですか? これらは同期オブジェクトであり、(それ自体では) 操作を非同期にする方法を提供しません。他の何かがスレッドを開始しているか、スレッド プールを使用している必要があります。

于 2008-12-04T07:11:52.503 に答える