Einzelnen Beitrag anzeigen

newbe

Registriert seit: 14. Okt 2008
143 Beiträge
 
Delphi 7 Personal
 
#1

Frage zu XE7 Threadpool

  Alt 18. Mai 2015, 20:33
Delphi-Version: 5
Hallo allerseits,

ich hätte mal einige Fragen bezüglich TThreadpool unter XE7.

Wenn ich mit folgenden Code Worker erzeuge

Delphi-Quellcode:
  
TThreadPool.Default.QueueWorkItem(procedure
      begin
        TestPing5(IP, Node, Interval, Hop);
      end)
;

erzeugt er dann TTaskObjecte oder TThread Objecte? Frage weil in der Workerroutine dat hier funktioniert

PingResult.ThreadID:= TThread.CurrentThread.ThreadID; beim Zugriff über TTask.CurrentTask knallt es, weil das Taskobject nil ist.

Und zweite Frage ich habe es jetzt so programmiert, das die Workers sich selber sauber beenden mittels globalen Boolean Stopvariablen. Finde ich sehr unschön. Zugriff von Außen habe ich damit auch nicht auf den Worker, um ihn zum Besipiel zu pausieren oder zu wieder aufzunehmen. Ich hab irgendwo gelesen, das TThreadpool eine Threadsichere Liste anbieten soll, mit der ich von Außen Zugriff auf die einzelnen Workers als TTask bekomme. Jedoch kann ich nirgens so eine Liste im TThreadpoolobject finden. Hat Jemand eine Idee?

mfg newbe
  Mit Zitat antworten Zitat