to lhjiang:
1、是否需要采用多线程处理关键在于你的程序是否需要并行处理任务,比如说你需要同时进行两个测试,或者更多个测试,那就需要多线程。
如果我理解的没错的话,你的程序需要做多个测试,每个测试间隔几秒钟重复一次,得出结果后写入数据库。
方法一:如果测试间隔时间较长,测试过程耗时较短,可以用定时器处理,定时器触发后用一个循环来执行你的所有测试..例:
procedure TForm1.Timer1Timer(Sender: TObject);
var
i: Integer;
begin
for i := 1 to DBGrid1.DataSource.DataSet.RecordCountdo
begin
{你的测试代码}
end;
end;
这样实现存在的问题有 A、如果其中一个测试出现问题,会影响其他测试的进行 B、时间间隔不好控制,如果测试项比较多,整个测试循环会需要很长时间。