比如我有一个方法function1,在function1中创建一个线程是TThread的一个实例,对应的方法Execute,我想实现这样的功能,原来的方法要等到线程的Execute执行完毕,再往下执行,也就是说,function1中有一条语句是Execute,我要等到Execute执行完了再往下执行,不知道采取什么措施可以让他阻塞,Execute执行完了,再把它唤醒,望各位大哥大姐指教!谢谢!
调试欢乐多
//hrd这个线程需要设置为自动销毁
hrd.execute;
while assigned(Hrd) do
frm.caption :='wait';....继续下面的语句
Thread1:=TConnectThread.Create(False);
Thread1.Priority:=tpNormal;
Thread1.FreeOnTerminate:=True;
而且你说的hrd.execute;是不是没有必要,我初始化线程后就会执行的把
thread.resume;
thread.waitfor;
...
取结果
thread.free;
Thread1.Priority:=tpNormal;
Thread1.FreeOnTerminate:=True;
Thread1.OnTerminate := CustomEvent; //自定义的过程
Thread1.Resume;
线程之行完后
SetEvent(hEvent);
if WaitForSingleObject(hEvent, INFINITE) = WAIT_OBJECT_0 then
begin
..
end;具体 WaitForSingleObject的用法可以参考msdn
是啊,那你这个线程又有什么做用啊!
是啊,那你这个线程又有什么做用啊!