AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Probleme mit Threads und Aufgaben-Pool

Ein Thema von endeffects · begonnen am 17. Mai 2005 · letzter Beitrag vom 19. Mai 2005
 
endeffects

Registriert seit: 27. Jun 2004
450 Beiträge
 
#1

Probleme mit Threads und Aufgaben-Pool

  Alt 17. Mai 2005, 17:28
Hallo,

ich habe leider ein Problem mit Threads die sich aus dem
Mainthread mit Aufgaben über Synchronize() versorgen sollen.

Code zum Erzeugen der Threads:
Delphi-Quellcode:
    for Loop:= 0 to length(ThreadArray) - 1 do
    begin
      ThreadArray[Loop]:= TMyThreads.Create(true);
      ThreadArray[Loop].FIndex:= Loop;
      ThreadArray[Loop].Priority:= tpIdle;
      ThreadArray[Loop].FreeOnTerminate:= True;
      ThreadArray[Loop].Resume;
    end;
Im Thread selbst starte ich dann Synchronize um
aus dem MainThread die Aufgabe zu übergeben:

Code aus dem Thread:
Delphi-Quellcode:
    Synchronize(NewJob);

    procedure TMyThreads.NewJob;
    begin
      MainForm.WorkPool(FIndex);
    end;
Sofern noch eine Aufgabe ansteht wird im MainThread
folgende Methode ausgelöst:

Code aus dem MainThread:
Delphi-Quellcode:
procedure TMainForm.WorkPool(Index: integer);
begin
    ....
    ThreadArray[Index].FTodo:= TodoList[TodoCounter];
    ....
end;
Ich hab nun schon eine ganze Weile hin und her geprüft
und die Zuweisung ThreadArray[Index].FTodo:= TodoList[TodoCounter];
aus TMainForm.WorkPool wird definitiv ausgeführt.
Trotzdem kommt es vor das diese beim Thread nicht ankommt.

Momentan bin ich ein wenig ratlos, hat Jemand vielleicht
eine Idee woran das liegen könnte?
  Mit Zitat antworten Zitat
 


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 13:10 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