Einzelnen Beitrag anzeigen

Benutzerbild von APP
APP

Registriert seit: 24. Feb 2003
Ort: Graz (A)
705 Beiträge
 
Delphi 7 Enterprise
 
#1

TThread: wie sicher sind (private) Objekte im Thread?

  Alt 28. Sep 2003, 08:48
Hallo,

ich habe ein Problem was die "Threadsicherheit" von Objekten betrifft.
Je mehr ich darüber lese, desto verwirrter werde ich, daher ein paar
konkrete Fragen:

In meinem speziellen Fall verwende ich immer nur einen Arbeitsthread.

a)
MYThread := TMyTread.Create(aStringlist :TStringlist); Ich übergebe eine Stringliste und verarbeite diese
ausschließlich lesend im Thread, ist das sicher?
Im Delphi-Demobeispiel wird eine Paintbox verwendet, GrafikCopmos sind
aber von Haus aus Thread sicher, glaube ich.

b)
Delphi-Quellcode:
procedure TMyTread.Execute;
Var
aStringlist :TStringlist;
Begin
TRY
  aStringlist := TStringlist.Create;
...
  INHERITED Create(TRUE);
End;
Ist diese Variante sicher?

Und Allgemein:
c)
Delphi-Quellcode:
procedure TMyTread.Execute;
Var
  aNichtVisuelleComponente :TNichtVisuelleComponente;
Begin
  TRY
    aNichtVisuelleComponente := :TNichtVisuelleComponente.Create;
...
  INHERITED Create(TRUE);
End;
Punkt c ist mein größtes Problem, einerseits schreibt Peter Below
hier dass, das Erzeugen beliebiger Komponenten im Thread kein Problem ist, aber andererseits
habe ich feststellen müssen, dass man keine neuen Fenster im Thread erzeugen kann...

kann mir jemand helfen?
Armin P. Pressler

BEGIN
...real programmers are using C/C++ - smart developers Delphi;
END;
  Mit Zitat antworten Zitat