Einzelnen Beitrag anzeigen

Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.755 Beiträge
 
Delphi 10.4 Sydney
 
#11

AW: Kurze Frage zur Thread Sicherheit

  Alt 4. Okt 2012, 19:07
Delphi-Quellcode:
procedure TThread.Execute;
begin
  while not Terminated do
  begin
    for I := Low(A) to High(A) do
    begin
      EnterCriticalSection(CS);
      if Use then
      begin
        //hier werden nur Felder von A[I] gelesen und geändert
      end;
      LeaveCriticalSection(CS)
    end;
    Sleep(1);
  end;
end;
Delphi-Quellcode:
procedure TThread.Execute;
begin
  while not Terminated do
  begin
    EnterCriticalSection(CS);
    try
      for I := Low(A) to High(A) do
      begin
        if Use then
          begin
            //hier werden nur Felder von A[I] gelesen und geändert
          end;
      end;
    finally
      LeaveCriticalSection(CS)
    end;
    Sleep(1);
  end;
end;
oder TThreadList verwenden.

Grüße
KLaus
Klaus

Geändert von Klaus01 ( 4. Okt 2012 um 19:15 Uhr)
  Mit Zitat antworten Zitat