【发布时间】:2012-03-21 02:29:07
【问题描述】:
这是我第一次使用 Delphi 开发多线程应用程序,所以对我来说一切仍然很新鲜,但我读了很多。
我的线程很简单,简而言之,我只是使用 Indy (IdHTTP) 来获取网页的内容,然后验证内容是否包含字符串。这里没有问题。
现在,为了终止线程,我使用带有 WHILE DO 的布尔值。它似乎有效,但问题是:就像我在 Indy 中使用超时一样,有时我必须等待超时时间结束才能线程完成(例如,当服务器没有响应时)......
这很烦人,尤其是当我使用 +200 线程时。使用多线程和类似程序的其他软件,当我单击“停止”时,一切都会在几秒钟内停止,这就是我所需要的。
我读到我应该使用 AntiFreeze,以允许 IdHTTP “阅读我的指令”...
所以,我在这里有点迷路了。
我认为这不是很有必要,但这是我的代码:http://pastebin.com/G7De8bgb
提前感谢您的灯光:)
贝尼
【问题讨论】:
-
为什么要停止 GET?你为什么要终止他们?不要靠近 TidAntiFreeze。
-
例如如果进程太长。我希望能够随时中止该程序。就像“杀死”线程一样,但当然是以安全的方式。谢谢。贝尼
标签: multithreading delphi indy