0

我的应用程序使用 Indy HTTP 客户端连续查询 7 个市场。所有市场都提供统一的请求/响应界面。也就是说,所有 7 个市场的请求/响应结构都是相同的。

我将GTIN提交到 MainForm 的TEdit框,应用程序向市场发布 7 个 RESTful 请求,并为所有这些请求返回 XML 响应。

我的想法是将每个请求包装在一个单独的线程中,但我真的很担心性能问题。通常我会在 3-5 秒内执行 1 个请求。

每个线程都在for语句中创建并初始化TIdHTTP对象、发出请求、获取 XML 响应、解析它并将其发送回 MainForm。

作业完成后,每个线程都需要终止(或暂停?)如果线程完全终止,那么它必须在下一个请求上执行相同的初始化例程。我发现它相对较慢,假设一次有 7 个线程初始化。

但是,如果线程暂停,它只是驻留在内存中,所有工厂都已初始化并准备好接受下一个请求。

如何让线程在操作上终止但仍完全初始化?我假设,如果TIdHTTPXML 解析对象在暂停的线程中保持活动状态,它们会在下一个请求时更快地执行。它有任何意义吗?

4

0 回答 0