Registriert seit: 30. Nov 2005
Ort: München
5.775 Beiträge
Delphi 10.4 Sydney
|
AW: Kurze Frage zur Thread Sicherheit
4. Okt 2012, 20: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 20:15 Uhr)
|