AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Algorithmen, Datenstrukturen und Klassendesign Delphi Objekt als Rückgabe von Funktion - Wie elegant Freigabe regeln?
Thema durchsuchen
Ansicht
Themen-Optionen

Objekt als Rückgabe von Funktion - Wie elegant Freigabe regeln?

Ein Thema von Zacherl · begonnen am 22. Aug 2013 · letzter Beitrag vom 25. Aug 2013
 
Furtbichler
(Gast)

n/a Beiträge
 
#17

AW: Objekt als Rückgabe von Funktion - Wie elegant Freigabe regeln?

  Alt 25. Aug 2013, 10:57
Was kostest es schon mal eben ein Objekt mit 20 String-,Int- und Double-Properties zu kopieren?
So gut wie nichts.
Wenn ich das Ganze 3x am Tag mache, dann ist das zu vernachlässigen. In zeitkritischen Anwendungen würde ich nicht so leichtfertig damit umgehen. Zumal ein Objekt bzw. dessen Daten auch mal größer werden können und dann ist so ein Ansatz einfach Quark. Bei kleinen Objekten fällt das aber nicht so sehr ins Gewicht, da hast Du sicherlich Recht. Aber wenn wir uns über 'best practises' unterhalten, dann ignorieren wir Sonderfälle wie 'kleine Datenmengen' mal lieber bzw. listen sie explizit auf.

Zitat:
Ein Thread, der nur auf eigenen Daten arbeitet ist sicher gegen konkurrierende Zugriffe & Deadlocks.
Nun ja, eine Critical Section schafft sichere und robuste Abhilfe.

Grundsätzlich: Wenn die Daten nur in eine Richtung gehen (was sie hier nicht tun, siehe Eingangspost), dann wäre es sicherlich am einfachsten, die Daten zu kopieren.

Aber hier scheinen Daten/Feedback aus dem Thread heraus verarbeitet werden zu müssen.... Hmm, ich mach das eigentlich automatisch immer so, das ich die Parameter des Threads im Konstruktor übergebe (so wie Du das machen würdest, also 'copy') und etwaiges Feedback über synchronisierende Eigenschaften (Critical Sections) oder Synchronize-Aufrufe (Events) der Außenwelt zur Verfügung stelle.

Ich denke, das ist dann wirklich die bessere (=robustere) Vorgehensweise.
  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 10:00 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