type
TMyThread=class(TServerClientThread)
private
FEvent:TSimpleEvent;
....
end;
var
Events:array[1..10] of TSimpleEvent;//所有线程的事件假设寸入此数组。
procedure TMyThread.Execute;
var
i:Integer;
Handles:array[1..10] of THandle;
begin
for i:=1 to 10do
Handles:=Events.Handle;//
while not Terminateddo
begin
FEvents.SetEvent;
//设置事件,通知其他线程本线程已准备好
WaitForMultipleObjects(10, Handles, TURE, INFINITE);//等待其他所有线程
FEvents.ResetEvent;
.....//同步后执行...
end;
end;
注意超时处理。