[fpc-pascal] using mtprocs
Mattias Gaertner
nc-gaertnma at netcologne.de
Fri Apr 19 08:59:01 CEST 2013
On Fri, 19 Apr 2013 00:39:03 +0100
John Lee <johnelee0 at gmail.com> wrote:
> Thanks - however, my attempt to modify the test program by adding the exec
> as below so it works in 'parallel' with the main program doesn't work, so I
> must have missed something.
What does not work?
> program Test;
> {$mode objfpc}{$H+}
> uses windows,classes, dos, crt, sysutils,MTProcs;
> var j:longint;
>
> // a simple parallel procedure
> procedure DoSomethingParallel(Index: PtrInt; Data: Pointer; Item:
> TMultiThreadP♦
> var
> i: Integer;
> begin
> writeln(Index);
> if index=1 then
> begin
Index runs from 1..5. This is executed only in the first step.
> //this compression, using arc (but it could be 7z takes 30 secs)
> exec('c:\windows\system32\cmd','/c c:\utils\arc a -mx tmp
> c:\live_sol\ans.dat');
> exit;
> end;
> for i:=1 to Index*1000000 do ; // do some work
> end;
>
> begin
> ProcThreadPool.DoParallel(@DoSomethingParallel,1,5,nil); // address,
> startind♦
> //main prog eg capturing the xml
> for j:=1 to 10 do
> begin write(j,' '); sleep(10000); end;
Do you see this output?
> end.
Mattias
More information about the fpc-pascal
mailing list