Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Delphi Threaddemo ändern/Warten auf Threads (https://www.delphipraxis.net/74346-delphi-threaddemo-aendern-warten-auf-threads.html)

Hallo_Thomas 1. Aug 2006 18:28


Delphi Threaddemo ändern/Warten auf Threads
 
Hallo,

ich versuche gerad die Threads zu verstehen, ich wollte dieses Beispiel so abändern das QuickSort erst nach den anderen zwei sortierverfahren startet. Wie stell ich das in dieser Procedur an.


Delphi-Quellcode:
procedure TThreadSortForm.StartBtnClick(Sender: TObject);
var x:Cardinal;
begin
  //for x:=0 to 10do
  begin
  RandomizeArrays;
  ThreadsRunning := 3;

  with TBubbleSort.Create(BubbleSortBox, BubbleSortArray) do
    OnTerminate := ThreadDone;
   // Synchronize;
  with TSelectionSort.Create(SelectionSortBox, SelectionSortArray) do
    OnTerminate := ThreadDone;
 // Dec(ThreadsRunning);
 // if ThreadsRunning = 1 then
 //MsgWaitForMultipleObjects;
  begin
  with TQuickSort.Create(QuickSortBox, QuickSortArray) do
  Begin
    OnTerminate := ThreadDone;
  end;
  end;
  StartBtn.Enabled := False;
  end;
end;

Hallo_Thomas 1. Aug 2006 22:23

Re: Delphi Threaddemo ändern/Warten auf Threads
 
Sicherlich ist dieses verhalten durch so eine Art schleife zu bewirken, indem ich den Threadzähler auf 2 setzte und Quicksort hier herein kopiere, dock ist die Methodik doch reichlich unelegant find ich?Kann man so was nicht auch durch eine normale schleife erreichem?


Delphi-Quellcode:
procedure TThreadSortForm.ThreadDone(Sender: TObject);
begin
  Dec(ThreadsRunning);
  if ThreadsRunning = 0 then
  begin
    with TQuickSort.Create(QuickSortBox, QuickSortArray) do
  Begin
    OnTerminate := ThreadDone;
  end;
    StartBtn.Enabled := True;
    ArraysRandom := False;
    Label4.Caption:='2';
    ThreadSortForm.StartBtn.Click;
      end;
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:20 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz