在多线程数组当中,寻找空闲或被销毁的线程,重新创建。。。。。。。。。。。。

r0ckin9 2017-08-27 07:43:34
var
Threads : array of TWebThread;
i:integer;

setlength(Threads,listbox.count+1);

for i:= 0 to listbox1.count-1{count: 2 rows} do
begin
Threads[i] := TWebThread.Create(i,memo1); //创建3条线程
end;


这些没问题,现在我关闭掉其中两条, 例如Threads[2]和Thread[0], Thread[1]还在运行.

问题来了,我现在又要开启一条新线程, 如何从Threads数组里面找到一条或多条空闲的线程编号,重新创建呢?

Threads[?] := TWebThread.Create(i,memo1);
...全文
298 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Mr Dang 2017-08-30
  • 打赏
  • 举报
回复
ThreadList.Add(TWebThread.Create(i,memo1));
lyhoo163 2017-08-28
  • 打赏
  • 举报
回复
建议你使用指针链,一个节点,挂一个线程,通过循环检查线程是否线束,并删除该节点,这样,挂在指针链上的,就是末结束的线程了。

16,748

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧