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

Z

zxha

Unregistered / Unconfirmed
GUEST, unregistred user!
我在做一个有关数据库的程序,想用两个线程:线程1先进行搜寻,然后线程2根据线程1的的
的搜寻结果再进行相应的搜寻。现在的问题是我不知道该如何写程序控制线程2必须在线程1
执行完再执行?各位大/小哥大/小姐帮帮我,我对线程是一无所知!谢谢,谢谢了!!
 
Y

yanyandt2

Unregistered / Unconfirmed
GUEST, unregistred user!
顺序执行不就行了?
难道需要复杂的操作??
 
Z

zw84611

Unregistered / Unconfirmed
GUEST, unregistred user!
WaitForSingleObject( )
 
Z

zxha

Unregistered / Unconfirmed
GUEST, unregistred user!
请问WaitForSingleObject怎么用?
 
T

thx1180

Unregistered / Unconfirmed
GUEST, unregistred user!
参考一下我在以下问题中的答贴:
http://www.delphibbs.com/delphibbs/dispq.asp?lid=1703826
关于线程同步。
 
C

coolbaby

Unregistered / Unconfirmed
GUEST, unregistred user!
临界区,互斥量
 

爱元元的哥哥

Unregistered / Unconfirmed
GUEST, unregistred user!
用TEvent对象阻塞线程,你就理解成红绿灯系统,A线程开绿灯,B线程面前就是红灯!
或者用消息机制,当A执行完毕时,发出自定义消息给窗口,然后窗口唤醒B线程!
 
N

nottop

Unregistered / Unconfirmed
GUEST, unregistred user!
设定一个变量,判断即可
 
S

seachange

Unregistered / Unconfirmed
GUEST, unregistred user!

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

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

 
顶部