Forum: Algorithmen, Datenstrukturen und Klassendesign
by DCoderHH,
1. Dez 2016
Ja ich entferne den Thread aus der Liste. Das ist aber nur die halbe Miete. Er soll auch freigegeben werden. Kann er aber nicht, da man free() in OnTerminate nicht aufrufen kann.
Forum: Algorithmen, Datenstrukturen und Klassendesign
by DCoderHH,
1. Dez 2016
Es ist kein Widerspruch:
Dort wird und soll nicht darauf gewaret, dass die Threads wirklich beenden und freigegeben sind. Zu dem Zeiptunkt ist also nur der Wunsch an die Threads mitgeteilt worden, dass ich sie beenden möchten. Sie könnten dann aber noch laufen, während ich das Programm beenden möchte. Das Programm darf dann aber nicht beendet werden, weil die Threds noch laufen. Also muss...
Forum: Algorithmen, Datenstrukturen und Klassendesign
by DCoderHH,
1. Dez 2016
Welchen Zweck hätte das? Dann weiß ich beim Beenden des Programms nicht mehr, welche Threads noch laufen und kann sie dann nicht mehr beenden.
Forum: Algorithmen, Datenstrukturen und Klassendesign
by DCoderHH,
1. Dez 2016
Und wie? In OnTerminate darf kein Free aufgerufen werden.
Wie soll im OnTerminate der zuletzt gestartet Thread erkannt werden, wenn alle Threads gleichzeitig laufen und unterschiedlich lange Laufzeiten haben? Ein Thread kenn die anderen ja nicht und weiß in seinem OnTerminate nicht, was noch läuft und ob er der zuletzt gestartete ist.
Forum: Algorithmen, Datenstrukturen und Klassendesign
by DCoderHH,
1. Dez 2016
Ich habe eine eigene Thread-Klasse erstellt: TMyThread. Wenn der Benutzer auf einen Button klickt, wird eine Instanz dieser Klasse erzeugt und gestartet. Der Benutzer kann und soll das beliebig oft und schnell tuen können.
Immer wenn einen neue Instanz erzeugt/gestartet wird, sollen alle anderen Threads beendet und *freigegeben* werden. Die neue Instanz soll sofort gestartet werden, egal was...