AGB  ·  Datenschutz  ·  Impressum  







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

Threads, TStringlist und CriticalSection

Ein Thema von kng · begonnen am 18. Apr 2008 · letzter Beitrag vom 18. Apr 2008
 
kng

Registriert seit: 6. Feb 2008
25 Beiträge
 
#1

Threads, TStringlist und CriticalSection

  Alt 18. Apr 2008, 01:33
Moin,

Ich habe ein Programm, das mehrere Threads startet, die auf eine globale TstringList zugreifen.
(Es wird nur gelesen, nicht gelöscht, eingefügt oder geschrieben.)
Funktioniert auch ganz gut.

Hier ein Beispiel, wie es bei mir ungefähr aussieht:
Delphi-Quellcode:
var list:tstringlist;

procedure mythread;
var i:integer; s:string;
begin
for i:=0 to pred(list.count) do
begin
  s:=list[i];
  //"s" verarbeiten
end;
end;

procedure startthreads;
var i:integer; c:cardinal;
begin
for i:=1 to 20 do
  beginthread(nil,0,@mythread,nil,0,c);
end;
"list" enthält ~ 20000 Einträge.
Dann habe ich gehört, dass ich ich die komplette For-Schleife in eine CriticalSection schreiben muss.

Ist das wirklich nötig?
Es funktioniert ja auch ohne... und würde den Vorgang doch eig. nur unnötig verlangsamen oder?

Oder können ohne CriticalSection sonst noch andere Probleme auftreten?
  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 02:24 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz