Exécuter N actions en parallèle avec TParallel TParallel Tâche asynchrone:exécuter N actions en parallèle
1. Présentation
La classe TParallel permet d’exécuter N actions en parallèle et deux cas de figure se présentent. Soit l’utilisateur veut exécuter N fois la même action et il faudra alors utiliser la méthode statique TParallel.For, ou bien il s’agira d’exécuter différentes actions et on utilisera TParallel.Join.
2. Exécution de la même action en parallèle TParallel.For TParallel.For
Exemple
Dans N fichiers, on veut trouver le nombre de fois qu’un mot est contenu. Il s’agit bien d’un cas d’application de TParallel.For. On va demander d’exécuter pour N fichiers différents la recherche de la chaîne de caractères désirée.
L’implémentation se présente comme suit au niveau de la déclaration :
type TPositionResultList = class(TList<Int64>)
public
FileName:string;
end;
type
TForm2 = class(TForm)
btnSearch: TButton;
Memo1: TMemo;
Label1: TLabel;
procedure btnSearchClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
FLog:TLog; ...