我原本是想创建几个线程,同时写如数字在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;
delphi xe中同时等待几个匿名线程,运行时结果错误(没cb了,无法悬赏)
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
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同步传输问题