jdper 2015-10-28 05:54
浏览 1678

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;

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 chaquopy python 安卓
    • ¥50 Kubernetes&Fission&Eleasticsearch
    • ¥15 有没有帮写代码做实验仿真的
    • ¥15 報錯:Person is not mapped,如何解決?
    • ¥30 vmware exsi重置后登不上
    • ¥15 易盾点选的cb参数怎么解啊
    • ¥15 MATLAB运行显示错误,如何解决?
    • ¥15 c++头文件不能识别CDialog
    • ¥15 Excel发现不可读取的内容
    • ¥15 关于#stm32#的问题:CANOpen的PDO同步传输问题