Jump to content

bluesum

Members
  • Content Count

    3
  • Joined

  • Last visited

Posts posted by bluesum


  1. I am using delphi 11.2 in windows

     

    Full source 

    attached

     

    Either one only run 1 thread,please help me,thanks.

    ====================================================

    procedure TForm1.btnParallelForClick(Sender: TObject);

    TParallel.For(0,System.CPUCount,procedure(I:Int64)

    var thinkstep: string;

    begin

    MinMax(board,mutiSideisRed,8,thinkstep);

    end;

    end);

    =====================================================

    procedure TForm1.btnTTaskClick(Sender: TObject);

    var

    tasks: array of ITask;

    thinkstep : array of string;

    SW: TStopwatch;

    a:integer;

    begin

    Setlength (tasks ,System.CPUCount);

    Setlength (thinkstep ,System.CPUCount+1);

    ReInitboard;

    SW :=TStopWatch.Create;

    for a := 0 to System.CPUCount-1 do

    begin

    thinkstep[a+1] := '';

    tasks[a] := TTask.Create (procedure ()

    begin

    PMinMax(board,mutiSideisRed,8,thinkstep[a]);

    end);

    end;

    for a := 0 to System.CPUCount-1 do

    tasks[a].Start;

    TTask3.zip

×