simplemtp1.lpr 463 B

1234567891011121314151617181920212223
  1. program SimpleMTP1;
  2. {$mode objfpc}{$H+}
  3. uses
  4. {$IFDEF UNIX}
  5. cthreads, cmem,
  6. {$ENDIF}
  7. MTProcs;
  8. // a simple parallel procedure
  9. procedure DoSomethingParallel(Index: PtrInt; Data: Pointer; Item: TMultiThreadProcItem);
  10. var
  11. i: Integer;
  12. begin
  13. writeln(Index);
  14. for i:=1 to Index*1000000 do ; // do some work
  15. end;
  16. begin
  17. ProcThreadPool.DoParallel(@DoSomethingParallel,1,5,nil); // address, startindex, endindex, optional data
  18. end.