![]() |
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; |
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