AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Threadphänomen. Threads terminieren nicht richtig
Thema durchsuchen
Ansicht
Themen-Optionen

Threadphänomen. Threads terminieren nicht richtig

Ein Thema von Piberg · begonnen am 6. Jun 2006 · letzter Beitrag vom 12. Jun 2006
Antwort Antwort
Piberg

Registriert seit: 6. Jun 2006
6 Beiträge
 
Delphi 2006 Architect
 
#1

Threadphänomen. Threads terminieren nicht richtig

  Alt 6. Jun 2006, 13:28
Hallo Leute!

Habe folgende Konstellation:
Ein Thread (weiter als Monitorthread) erzeugt und ruft abwechselnd zwei Threads (weiter als KinderThreads) auf.
Diese KinderThreads setzen einzelnd Zeichen ( der eine 'a' bis 'z', der andere '1' bis '9' ) auf der seriellen Schnittstelle ab
und terminieren anschließend.
Nun beobachte ich folgendes Phänomen: Wenn ich den MonitorThread terminiere und dann irgendwann wieder neu erzeuge,
nimmt das zuletzt laufende KinderThread seine Arbeit dort auf, wo er aufhörte, nachdem der Monitorthread terminierte.

z.B '123456789ABCDERF' <MonitorThread terminiert> .... <Neuer MonitorThread erzeugt> 'GHIJKLMNO' <MonitorThread terminiert> .... <Neuer MonitorThread erzeugt> 'PQRST' usw...

Hier ist die Execute des MonitorThreads:
Delphi-Quellcode:
procedure TMonitorThread.Execute;
var T1, T2 : TerzeugerThread;
begin
  while NOT Terminated do
  begin

    T1 := TErzeugerThread.CreateThread(FALSE, '1', '9');
    T1.Priority := tpLowest;
    T1.Resume;
    T1.WaitFor;
    T1.Free;


    T2 := TErzeugerThread.CreateThread(FALSE, 'A', 'Z');
    T2.Priority := tpLowest;
    T2.Resume;
    T2.WaitFor;
    T2.Free;

  end;
end;
Hat Jemand eine Idee, wie sich das erklären lässt? Denn für mich hat es den Anschein, als würde der zuletzt laufende KinderThread nur "schlafengelegt", der dann
später seine Arbeit fortsetzt. Erst danach werden neue Kinder im MonitorThread erzeugt.
  Mit Zitat antworten Zitat
Olli
(Gast)

n/a Beiträge
 
#2

Re: Threadphänomen. Threads terminieren nicht richtig

  Alt 12. Jun 2006, 09:41
Zitat von Piberg:
Hat Jemand eine Idee, wie sich das erklären lässt? Denn für mich hat es den Anschein, als würde der zuletzt laufende KinderThread nur "schlafengelegt", der dann
später seine Arbeit fortsetzt. Erst danach werden neue Kinder im MonitorThread erzeugt.
Den Eindruck gewinne ich auch, allerdings läßt sich mit dem bißchen Code nicht viel anfangen um eine detaillierte Erklärung zu liefern.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:11 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz