Jump to content

bluesum

Members
  • Content Count

    3
  • Joined

  • Last visited

Community Reputation

0 Neutral
  1. embarcadero reply that "Each Task runs on a core and the scheduling of each task is decided by an internal code that understands which core is relatively free and gives that core the load. There's no guarantee that all cores are going to be used for every task." original reply message picture: https://ibb.co/K5jd9bk
  2. 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
×