Transaction mémoire isolée (parallel)
De Wiki1000
(Différences entre les versions)
(Page créée avec « Un transaction mémoire par exécuteur : <source lang="delphi"> //Procedure doProcess(inst:WFClasseA); var inst:WFClasseA; begin // One separate transaction // Use priva… ») |
|||
Ligne 30 : | Ligne 30 : | ||
end; | end; | ||
</source> | </source> | ||
+ | |||
+ | {{tip|Notez l'utilisation de '''private''' pour allouer une nouvelle transaction ; sans cette option chaque exécuteur partagerait la même transaction.}} | ||
[[Category:Parallèle]] | [[Category:Parallèle]] |
Version actuelle en date du 17 octobre 2011 à 09:01
Un transaction mémoire par exécuteur :
//Procedure doProcess(inst:WFClasseA); var inst:WFClasseA; begin // One separate transaction // Use private to allocate a new transaction in a new context withP private Transaction do begin inst.unCode := 'X'+inttostr(index); inst.Caption := 'Objet A'+inttostr(index); inst.unEntier := 1+Trunc(Random(100)); end; end; //Procedure ProcessSomeA(AList:WFClasseAList); var tk:Int64; begin tk := GetTickCount; try foreachP var inst in AList do begin parallel dProcess(inst); end; finally tk := GetTickCount-tk; showmessage(Format('%s ms',[TickToString(tk)])); end; end;