高手请指教:如何让一个线程结束后才执行另一个线程?(50分)

  • 主题发起人 主题发起人 zxha
  • 开始时间 开始时间
Z

zxha

Unregistered / Unconfirmed
GUEST, unregistred user!
我在做一个有关数据库的程序,想用两个线程:线程1先进行搜寻,然后线程2根据线程1的的
的搜寻结果再进行相应的搜寻。现在的问题是我不知道该如何写程序控制线程2必须在线程1
执行完再执行?各位大/小哥大/小姐帮帮我,我对线程是一无所知!谢谢,谢谢了!!
 
顺序执行不就行了?
难道需要复杂的操作??
 
WaitForSingleObject( )
 
请问WaitForSingleObject怎么用?
 
参考一下我在以下问题中的答贴:
http://www.delphibbs.com/delphibbs/dispq.asp?lid=1703826
关于线程同步。
 
临界区,互斥量
 
用TEvent对象阻塞线程,你就理解成红绿灯系统,A线程开绿灯,B线程面前就是红灯!
或者用消息机制,当A执行完毕时,发出自定义消息给窗口,然后窗口唤醒B线程!
 
设定一个变量,判断即可
 

在线程的构造函数中加入设置 OnTerminated 事件的响应函数.
在你的终止函数中再创建另一个线程!
Constructor TYourThread.Create(...)
begin
...
OnTerminated:=OnDead;
end;

procedure TYourThread.OnDead;
begin
...创建另一线程
...开始运行另一线程
end;

 
后退
顶部