如何等待线程结束后再执行其他程序?

doubagui 2010-09-29 01:41:54
procedure form.button1Click(Sender: TObject);
begin
from.button2Click(Sender);
from.button3Click(Sender);
end;

from.button2Click(Sender)是一些线程程序,
如何判断等待这些线程结束之后再执行from.button3Click(Sender),
因为button3的操作要用到button2的结果!
...全文
261 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
lw19860412 2010-09-29
  • 打赏
  • 举报
回复
不管怎样,知道“线程”这个词了
sanguomi 2010-09-29
  • 打赏
  • 举报
回复
这设计有问题的
自己创建一个管理线程,
把from.button2Click(Sender);
from.button3Click(Sender)
这俩个部分代码加进去,在管理线程里用 Thread2.waitfor 或 WaitForSingleObject 直到线程2结束
再开始第3个

WaitForSingleObject , 这个API一般不要用在主线程,会堵塞主线程,界面假死,如果里边线程一直不退出
你主线程一直没机会执行下去
JimsdogV1 2010-09-29
  • 打赏
  • 举报
回复
信号量 mutex 同步和互斥 自己看看MSDN的waitfor函数就了解了
doubagui 2010-09-29
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 bdmh 的回复:]
WaitForSingleObject
[/Quote]怎么用,初学不太懂
doubagui 2010-09-29
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 jpexe 的回复:]
在线程用“回调”或“发消息”通知程序“我结束了”,然后再执行后续任务。
[/Quote]能否详细点
JPEXE 2010-09-29
  • 打赏
  • 举报
回复
在线程用“回调”或“发消息”通知程序“我结束了”,然后再执行后续任务。
bdmh 2010-09-29
  • 打赏
  • 举报
回复
WaitForSingleObject

16,749

社区成员

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

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