0

私のアプリケーションは、Indy HTTP クライアントを使用して、7 つのマーケットプレイスを連続してクエリします。すべてのマーケットプレイスは、リクエスト/レスポンスに対する統一されたインターフェースを提供します。とはいえ、リクエスト/レスポンスの構造は 7 つのマーケットプレイスすべてで同じです。

GTINを MainForm のボックスに送信するTEditと、アプリは 7 つの RESTful 要求をマーケットプレイスに送信し、それらすべてに対して XML 応答を返します。

私の考えは、各リクエストを個別のスレッドにラップすることですが、パフォーマンスの問題が本当に心配です。通常、私は 3 ~ 5 秒で 1 つのリクエストを実行します。

各スレッドはforステートメントで作成され、TIdHTTPオブジェクトを初期化し、要求を作成し、XML 応答を取得して解析し、MainForm に送り返します。

ジョブが完了したら、各スレッドを終了 (または一時停止) する必要があります。スレッドが完全に終了した場合、次の要求で同じ初期化ルーチンを実行する必要があります。一度に7つのスレッドの初期化を想定すると、比較的遅いと思います。

ただし、スレッドが一時停止されている場合、スレッドは単にメモリ内に存在し、すべてのファクトリが初期化され、次の要求を受け入れる準備ができています。

スレッドを操作上終了させまま、完全に初期化したままにするにはどうすればよいですか? XML 解析オブジェクトが一時停止されたスレッドで生き続ければTIdHTTP、次の要求でより速く動作すると思います。意味はありますか?

4

0 に答える 0