Einzelnen Beitrag anzeigen

marcoX

Registriert seit: 10. Jul 2011
45 Beiträge
 
#1

Wie eine solche Thread-Problematik elegant lösen?

  Alt 12. Aug 2011, 13:52
Delphi-Quellcode:
BeginThread(....)
//Warte nun bis Thread fertig ohne Form einzufrieren
weitere normale Befehle...
BeginThread(....)
//Warte nun bis Thread fertig ohne Form einzufrieren
weitere normale Befehle...
Natürlich kann man das mit Timern, globalen Variablen oder Threads die sich (erst sobald sie fertig sind) dann wieder gegenseitig aufrufen, mehr oder weniger unelegant lösen. Doch gibt es auch einen eleganten Weg? Es so wie oben zu schreiben bringt ja nichts, Delphi übergeht alles was zwischen den Threads ist und startet die einfach alle gleichzeitig.

(Wozu das ganze? Einige werden sagen: "Threads sind doch gerade dazu da, alles gleichzeitig zu machen, darauf zu warten oder solch eine Konstruktion ist doch Unsinn". Naja, manchmal würde man am liebsten gar keine Threads nutzen, sondern normalen "Spaghetti Code", braucht die Threads aber, weil sonst die Form bei starker I/O etc. einfriert. Und dann braucht man eben Konstrukte wie oben.)
  Mit Zitat antworten Zitat