Einzelnen Beitrag anzeigen

BlueDiamond

Registriert seit: 15. Nov 2003
Ort: Trier
17 Beiträge
 
Delphi 2005 Personal
 
#1

Threads - Zugriff auf Listen und Variablen

  Alt 4. Nov 2005, 08:48
Hallo zusammen,


für die Verteilung von Thread-Jobs nutze ich Threadlisten und CriticalSections. Wird der Zugriff auf diese immer abgearbeitet wenn bereits ein anderer Thread zugreift? Hier ein Beispiel für eine Funktion :

Delphi-Quellcode:
function TJobList.isClientInList(aIP: TbCardinal): bool;
var
  l: TList;
  a: integer;
begin
  Result := False;
  l := fList.LockList;
  try
    for a := 0 to l.Count - 1 do
      if TClient(l.Items[a]).IP.i = aIP.I then
      begin
        Result := True;
        break;
      end;
  finally
    fList.unlockList;
  end;
end;
Zugriff innerhalb des Threads :
Delphi-Quellcode:
if not formMain.JobList[FListIndex].isClientInList(newCLientIP) then
  if not formMain.DoneList[FListIndex].isClientInList(newCLientIP) then
    formMain.JobList[FListIndex].AddClient(TClient.Create(newCLientIP, newClientPort.I));
Mir scheint das nicht alle neuen TClients hinzugefügt werden, daher mein Verdacht dass wenn die Liste gelockt wurde, kein Zugriff mehr gegeben wird.
Kann das jemand ausschließen ?
  Mit Zitat antworten Zitat