« Transaction mémoire isolée (parallel) » : différence 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… ») |
Aucun résumé des modifications |
||
| 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]] | ||
Dernière version du 17 octobre 2011 à 08:01
Un transaction mémoire par exécuteur :
<source lang="delphi"> //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; </source>