Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Delphi Mehre Threads: wie Daten übergeben (https://www.delphipraxis.net/192356-mehre-threads-wie-daten-uebergeben.html)

Hobbycoder 12. Apr 2017 09:06

AW: Mehre Threads: wie Daten übergeben
 
Zitat:

Zitat von p80286 (Beitrag 1367241)
Hobbycoder hat mich auf den richtigen Weg gebracht, wobei mir nicht so ganz kar ist warum
Delphi-Quellcode:
fListe=liste;
mir früher oder später Ärger bereiten sollte, wenn sicher ist, daß nicht mehrere Threads gleichzeitig zugreifen.

Ich meinte jetzt nicht explizit in diesem Fall, sondern eher im allgemeinen.
Ich kenn ja deinen Restcode nicht. Wenn alles wirklich synchronisiert abläuft, dann sollte es ja gehen. Trotzdem versuch ich sowas zu vermeiden. Schon allein, der Wiederverwendbarkeit halber.

Ein synchronisierter Zugriff auf Daten außerhalb des Thread ist ja nicht unüblich, und letztlich spielt es dabei ja keine Rolle ob es sich bei dem Object um eine Stringlist handelt, ein GUI-Object oder sonst irgendeine Variable, solange es synchronisiert abläuft.

Interessant wird das allerdings beim Debuggen, wenn der Inhalt der Liste von verschiedenen Threads verändert wird. Aber wie gesagt, das hängt natürlich stark von dem Restcode ab.

Und Last-but-not-least, ist das mit dem Freigeben gerade in größeren Projekten so eine Sache, wenn man auf Objecte zugreift, deren Existenz nicht in der Kontrolle des zugreifenden Thread liegt. Entweder es wird einem mal das Object unter dem Arsch weggezogen oder es bleiben Speicherleichen zurück. Das muss zwar nicht grundsätzlich so sein, aber in großen Projekten kommt das schneller vor, als man denkt. Und im zweiten Fall kommt es ja noch nicht mal zu einer Exception.

p80286 12. Apr 2017 12:08

AW: Mehre Threads: wie Daten übergeben
 
Vielen Dank an alle!

Gruß
K-H


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:47 Uhr.
Seite 2 von 2     12   

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