![]() |
Eine max. Thread-Lebenszeit festlegen?
Hallo Leute!
Ich muss eine Art Timeout für mehrere Threads der selben Klasse coden.. Was ich erreiche möchte: Sobald der Thread länger als x Minuten am leben ist, soll er terminiert werden. Wie würdet ihr sowas machen? Danke! |
Re: Eine max. Thread-Lebenszeit festlegen?
Moin!
Ich würde per ![]() |
Re: Eine max. Thread-Lebenszeit festlegen?
Ne, ich muss das seperat (in einem einzelnen Thread oder so) machen, für den Fall dass der Thread sich aufhängt oder ähnliches.
Der Timeout muss es dann trotzdem schaffen den Thread zu restarten. Wie macht man sowas? |
Re: Eine max. Thread-Lebenszeit festlegen?
Die simpelste Variante (simpel aber weder elegant, noch besonders effizient, dafuer aber einfach zu realisieren wenn die Anzahl Threads überschaubar bleibt) ist es, für jeden Workerthread einen Monitorthread zu erzeugen. Der wartet dann mittels WaitForSingleObject auf die Beendigung des Workerthreads, WaitForSingleObject bekommt auch einen Timeout-Parameter mit übergeben. Den Rückgabewert dann noch entsprechend auswerten und den Workerthread ggf. abwürgen und neu starten. Nebenbei bemerkt sollte ein abgestorbener Thread aber eher die Ausnahme als die Regel sein :)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:00 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz