![]() |
Threads: paralleler Lesezugriff auf unveränderliche Daten
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? |
Re: Threads: paralleler Lesezugriff auf unveränderliche Date
Zitat:
Zitat:
Zitat:
Zitat:
Ich frage mich nur grad, was so ein "globales" Objekt dann bringt. Ordne doch die Methode sowie die Felder dem Thread zu. |
Re: Threads: paralleler Lesezugriff auf unveränderliche Date
Ok, dann kann ich das ja ohne Bedenken so benutzen. Danke.
Zitat:
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 |
Re: Threads: paralleler Lesezugriff auf unveränderliche Date
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 |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:23 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-2025 by Thomas Breitkreuz