AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Threads: paralleler Lesezugriff auf unveränderliche Daten
Thema durchsuchen
Ansicht
Themen-Optionen

Threads: paralleler Lesezugriff auf unveränderliche Daten

Ein Thema von changlee · begonnen am 16. Feb 2010 · letzter Beitrag vom 16. Feb 2010
Antwort Antwort
changlee
(Gast)

n/a Beiträge
 
#1

Threads: paralleler Lesezugriff auf unveränderliche Daten

  Alt 16. Feb 2010, 16:20
Hallo,

ich bin mit Threads noch etwas unsicher, deshalb frage ich zu Sicherheit nochmal nach:

Ich habe ein Objekt, dass im HauptThread erstellt und verwaltet wird.
Ein Paar Eigenschaften, wie z.B. eine ID, werden nur einmal beim Create gesetzt und können nie wieder verändert werden.

1. Darf ich in einem weiteren Thread auf solche nur-Lesen-Eigenschaften lesend zugreifen? Dürfen also 2 Threads zur gleichen Zeit lesen, oder gibt es Probleme?

2. Das Objekt hat auch ein Feld fThreadWorkingVar, das nur im Thread verändert wird. Kann das Probleme geben?

3. Im Thread soll eine Methode des Objekts aufgerufen werden, die nie von einem anderen Thread genutzt wird. Ist das OK?

Also mein Verständnis ist momentan, dass man in Threads folgendes nicht machen darf:
- auf visuelle Objekte zugreifen
- schreibend auf eine Variable zugreifen, die möglicherweise woanders gerade gelesen oder beschrieben wird
- lesend auf eine Variable zugreifen, die möglicherweise woanders gerade beschrieben wird


Demnach müssten meine Punkte 1. bis 3. alle problemlos sein, oder?
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: Threads: paralleler Lesezugriff auf unveränderliche Date

  Alt 16. Feb 2010, 16:52
Zitat von changlee:
Also mein Verständnis ist momentan, dass man in Threads folgendes nicht machen darf:
- auf visuelle Objekte zugreifen
- schreibend auf eine Variable zugreifen, die möglicherweise woanders gerade gelesen oder beschrieben wird
- lesend auf eine Variable zugreifen, die möglicherweise woanders gerade beschrieben wird
Stimmt.

Zitat:
Demnach müssten meine Punkte 1. bis 3. alle problemlos sein, oder?
Die Punkte sind zu unklar, als dass man das jetzt sagen könnte, aber wenn du sie entsprechend der obigen Kriterien geprüft hast, sollte nix passieren.

Zitat:
1. Darf ich in einem weiteren Thread auf solche nur-Lesen-Eigenschaften lesend zugreifen? Dürfen also 2 Threads zur gleichen Zeit lesen, oder gibt es Probleme?

2. Das Objekt hat auch ein Feld fThreadWorkingVar, das nur im Thread verändert wird. Kann das Probleme geben?
keine Probleme, wenn nur ein Thread (oben sprachst du von zwei)

Zitat:
3. Im Thread soll eine Methode des Objekts aufgerufen werden, die nie von einem anderen Thread genutzt wird. Ist das OK?
Wenn diese Methode ihrerseits alle deine obigen Punkte einhält, ja.


Ich frage mich nur grad, was so ein "globales" Objekt dann bringt. Ordne doch die Methode sowie die Felder dem Thread zu.
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
changlee
(Gast)

n/a Beiträge
 
#3

Re: Threads: paralleler Lesezugriff auf unveränderliche Date

  Alt 16. Feb 2010, 17:38
Ok, dann kann ich das ja ohne Bedenken so benutzen. Danke.

Zitat:
Ich frage mich nur grad, was so ein "globales" Objekt dann bringt. Ordne doch die Methode sowie die Felder dem Thread zu.
Ich entwickle eine Komponente, die Aufgaben (Prozeduraufrufe) verwaltet. Der Thread wird nur bei Bedarf erstellt.
Das ganze fuktioniert wie ein TTimer, bloß auf Wunsch mit Threads und es kann ein beliebiges Objekt in der Komponente referenziert werden (z.B. für Status-Einträge). Ich habe schon länger drüber nachgedacht, aber ich denke, dass es so wie es momentan ist am besten ist.

Gruß
changlee
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#4

Re: Threads: paralleler Lesezugriff auf unveränderliche Date

  Alt 16. Feb 2010, 18:21
Moin,
also ich denke der Punkt 1 dürfte okay sein, aber Punkt 2 ist etwas problematisch. Weil es gibt kein Feld für ein Thread. Du hast ja ein Objekt und damit ist jedes Attribut nur einmal vorhanden.
Zu Punkt 3 kann ich dir leider nichts so genau sagen.

MfG
Fabian
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
Antwort Antwort


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 01:44 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz