Thema: Delphi Alternative zu Sleep

Einzelnen Beitrag anzeigen

alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#13

Re: Alternative zu Sleep

  Alt 30. Jan 2007, 13:13
Hi

Ich vermute, Du hast einen 'Denkfehler': Du kannst doch nicht irgendwie eine konstante Zeit warten, bis jemand anderes mit seiner Arbeit fertig ist. Ich meine, natürlich kannst Du das, aber das ist eben nicht richtig.
Ebensowenig, wie in der Hauptanwendung 'sleep' aufzurufen.

Na gut, im Prinzip benötigst Du so etwas:

Code:
...
  Task1;
  Wait Until Task1 is finished;
  Task2;
  Wait Until Task1 is finished;
...
Verstehe ich das richtig? Und die Tasks sind einzelne Threads, richtig?

Du könntest eine Kette einrichten, sodaß Task1 über sein 'OnTerminate'-Ereignis Task2 anstößt, der wieder Task3 usw.

Dann musst Du nur Task1 starten und die Welt ist 'vordergründig' in Ordnung, denn alle Tasks laufen ja im Hintergrund (wenn die Tasks als Threads deklariert sind).

Ansonsten gäbe es noch die Möglichkeit, die Synchronisation der Tasks/Threads mit Events zu steuern. Das empfiehlt sich dann, wenn die Threads zwischendurch mal eine Teillösung fertig gestellt haben, und einem anderen Thread mitteilen sollen, das der jetzt weitermachen kann.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat