AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Rückgabewert von Threads

Ein Thema von Hannes91 · begonnen am 6. Sep 2011 · letzter Beitrag vom 7. Sep 2011
 
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.740 Beiträge
 
Delphi 6 Enterprise
 
#9

AW: Rückgabewert von Threads

  Alt 7. Sep 2011, 14:08
Wie wäre es mit einem Counter? Ich zietiere mal aus diesem Delphi-Treff-Tutorial:

Zitat:
...Und hier wird es nun spannend. Nachdem die Arrays noch einmal neu gefüllt werden, wird ein interner Thread-Zähler auf 3 gesetzt. Dann werden die Threads gestartet:
Code:
with TBubbleSort.Create(BubbleSortBox, BubbleSortArray) do
  OnTerminate := ThreadDone;
Durch den Aufruf des Konstruktors Create wird auch automatisch die Execute-Methode aufgerufen, so dass der Thread startet. Außerdem wird dem Thread hier noch mitgeteilt, dass er auf das OnTerminate-Ereignis mit dem Ausführen der Methode "ThreadDone" reagieren soll. OnTerminate wird ausgelöst, sobald ein Thread fertig abgelaufen ist.
Nun laufen die Threads also, und in der Variablen ThreadsRunning steht, wie viele es sind. Ist ein Thread fertig, wird der Wert in ThreadDone um 1 reduziert. Sind alle Threads mit dem Sortieren am Ende angekommen, ist die Variable 0, und der Start-Button wird wieder verfügbar gemacht.
Ich bin bei Threads auch noch recht unerfahren, aber kann man nicht in deinem fall nach der Schleife, die die Threads erzeugt eine neue "Warteschleife" starten, die solange läuft (und nix macht) bis der Counter auf 0 steht? Oder die wie im Bsp. im OnTerminate eines Threads ausgeführte-Funktion veringert den Counter und schaut ob er schon null ist (also der letzte Thread fertig) und startet dann eine neue Prozedur, mit der es weitergeht und die die gesammelten Werte weiterverarbeitet...
Ralph

Geändert von Jumpy ( 7. Sep 2011 um 14:13 Uhr)
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:56 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