Thread beenden

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
jacdelad
Beiträge: 341
Registriert: 03.02.2021 13:39
Computerausstattung: Ryzen 5800X, 108TB Festplatte, 32GB RAM, Radeon 7770OC
Wohnort: Riesa
Kontaktdaten:

Thread beenden

Beitrag von jacdelad »

Muss ich was beachten, wenn ich einen Thread beende? Damit meine ich nicht KillThread, sondern wenn die Funktion normal verlassen wird. Der Library-Anzeiger zeigt mir die von selbst beendeten Threads immer als "Paused" an, bis alle beendet sind.
PureBasic 6.04/XProfan X4a/Embarcadero RAD Studio 11/Perl 5.2/Python 3.10
Windows 11/Ryzen 5800X/32GB RAM/Radeon 7770 OC/3TB SSD/11TB HDD
Synology DS1821+/36GB RAM/130TB
Synology DS920+/20GB RAM/54TB
Synology DS916+ii/8GB RAM/12TB
Benutzeravatar
mk-soft
Beiträge: 3695
Registriert: 24.11.2004 13:12
Wohnort: Germany

Re: Thread beenden

Beitrag von mk-soft »

Das ist normal und wird intern von Purebasic aufgeräumt.
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Benutzeravatar
jacdelad
Beiträge: 341
Registriert: 03.02.2021 13:39
Computerausstattung: Ryzen 5800X, 108TB Festplatte, 32GB RAM, Radeon 7770OC
Wohnort: Riesa
Kontaktdaten:

Re: Thread beenden

Beitrag von jacdelad »

Ah ok.

Ich bin immer noch auf der Suche, warum sich das Programm trotzdem nicht ordnungsgemäß beendet. Das klappt nur, wenn alle Threads vorher ausgelaufen sind. Ich konnte es bisher nicht auf ein Mini-Beispiel runterbrechen.
PureBasic 6.04/XProfan X4a/Embarcadero RAD Studio 11/Perl 5.2/Python 3.10
Windows 11/Ryzen 5800X/32GB RAM/Radeon 7770 OC/3TB SSD/11TB HDD
Synology DS1821+/36GB RAM/130TB
Synology DS920+/20GB RAM/54TB
Synology DS916+ii/8GB RAM/12TB
Benutzeravatar
mk-soft
Beiträge: 3695
Registriert: 24.11.2004 13:12
Wohnort: Germany

Re: Thread beenden

Beitrag von mk-soft »

Bei Windows werden die letzten Threads einfach abgeschossen.

macOS mag es nicht wenn noch Threads laufen. Also beim beenden des Programm noch warten bis alle Threads beendet sind.
Hilfreich ist es zum Beispiel eine Globale Variable anzulegen (ExitAllThreads) und diese mit #True zu setzen und in den Threads mit abzufragen.
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Benutzeravatar
jacdelad
Beiträge: 341
Registriert: 03.02.2021 13:39
Computerausstattung: Ryzen 5800X, 108TB Festplatte, 32GB RAM, Radeon 7770OC
Wohnort: Riesa
Kontaktdaten:

Re: Thread beenden

Beitrag von jacdelad »

Ja, so in der Art mache ich das. Ich hab noch ein Delay(1000) nach BeendeThreads=1 und vor dem Abschuss der restlichen Threads eingefügt. Jetzt geht es komischerweise. :D
PureBasic 6.04/XProfan X4a/Embarcadero RAD Studio 11/Perl 5.2/Python 3.10
Windows 11/Ryzen 5800X/32GB RAM/Radeon 7770 OC/3TB SSD/11TB HDD
Synology DS1821+/36GB RAM/130TB
Synology DS920+/20GB RAM/54TB
Synology DS916+ii/8GB RAM/12TB
Antworten