1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
//boucle pricipale du thead de copie
Procedure TMyThreadCopie.Execute;
Begin
FreeOnTerminate:=TRUE;
Repeat
FileObject=MyThreadListFile.Pop;
while (FileObject<>nil) and (not Terminated) do
begin
//Copy a FileObject....
//(ton code existant quoi?)
FileObject=MyThreadListFile.Pop; //Get Next File to copy
end;
//ici on attend des nouvelles données cette boucle prend 0% cpu!
while (WaitForSingleObject(MyThreadListFile.NewData,1000)=WAIT_TIMEOUT do
begin
if Terminated then break;
end;
Until (Terminated);
End; |
Partager