问题描述
- delphi xe中同时等待几个匿名线程,运行时结果错误(没cb了,无法悬赏)
-
我原本是想创建几个线程,同时写如数字在memo中.然后用waitformultipleobjects等待
全部线程全部完成后写入ok.可问题是运行后结果错误如下.
(搞到了2cb,如何添加?)
1:等待不到结束线程.超时3秒过后写入ok.然后再写入数字.
2:原本我想写的应该是0-5的数字,可运行后基本是写入6最多.
代码如下.我该如何改?没cb了.请各位不吝赐教.
var
Testthread: TThread;
Waitthread: TWOHandleArray;
i: integer;
begin
memo1.Clear;
for i := 0 to 5 do
begin
Testthread:= TThread.CreateAnonymousThread(
procedure
var
k: integer;
begin
k:= i;
memo1.Lines.Add(IntToStr(k));
end);
Waitthread[i]:= Testthread.Handle;
// Testthread.FreeOnTerminate:= True;
Testthread.Start;
end;
WaitForMultipleObjects(6, @Waitthread, false,3000 );{INFINITE}
memo1.Lines.Add('ok');
end;
时间: 2024-10-28 09:29:08