Laden...

Frage zu Thread

Erstellt von userid4106 vor 16 Jahren Letzter Beitrag vor 16 Jahren 1.110 Views
U
userid4106 Themenstarter:in
457 Beiträge seit 2006
vor 16 Jahren
Frage zu Thread

Mal ne ganz dämliche frage,

wenn ich einen Thread mit "MyThread.Start()" öffne..Läuft der die ganze Zeit und verbleibt im speicher. Oder schließt er sich automatisch wenn er das abgearbeitet hat was er soll und verschwindet dann wieder????

A
138 Beiträge seit 2007
vor 16 Jahren

Hallo,
wenn der Thread das abgearbeitet hat was er soll (also wenn aus der Methode "gesprungen" wird) wird der Thread beendet.
Überprüfen kann man dies mit Thread.IsAlive

343 Beiträge seit 2007
vor 16 Jahren

Wie Andavos bereits sagte, wird ein Thread beendet, wenn die Methode fertig ist, jedoch ist zu beachten, dass Thread-Methoden oft ungefähr so aussehen (findet man zumindest in einigen Tutorials und Büchern):

while(true) { ... }

Vor allem wenn irgendetwas ständig im Hintergrund durchgeführt werden soll. Kann oft zu Fehlern führen, da ein Thread NICHT automatisch beendet wird, wenn man den "Haupt-Thread" beendet. Kann dann oft zu Fehlern führen.

Ich weiß das war nicht direkt gefragt, aber das passt hier recht gut dazu und ist für die Praxis recht hilfreich. Ich hoffe ihr verzeiht mir. 😁

Mfg Preli

[- www.saftware.net -](http://www.saftware.net/)
0
767 Beiträge seit 2005
vor 16 Jahren

Beim Erstellen eines Threads kann man über "IsBackGroundThread" (oder so ähnlich) angeben ob der Thread ein solcher ist. Falls ja, wird er beendet, wenn der erstellende Thread beendet wird.

loop:
btst #6,$bfe001
bne.s loop
rts

U
userid4106 Themenstarter:in
457 Beiträge seit 2006
vor 16 Jahren

Vielen dank😉