Einzelnen Beitrag anzeigen

Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#1

Taktik bei Laden von Business-Objekten in Threads

  Alt 18. Jun 2010, 14:44
Ich habe mal wieder eine generelle Frage zum Laden von Daten via Threads. Im Moment habe ich es so, dass ich eine ganze Reihe von Business-Objekten, die auch untereinander verknüpft sind, via Thread lade, dann eine Message an meinen Haupthread schicke, sodass diese Daten übernommen werden (-> Assign()). Nun ist es ja so, dass ich für das Laden Zeit benötigt und für das übernehmen der Daten ebenfalls.

Jetzt habe ich mir überlegt, dass ich doch evtl. folgendes machen könnte: ich habe ja einen Daten-Container für die Daten im Hauptthread und dann einen temporären im Thread. Bisher wird ja immer der temporäre Container freigegeben nachdem die Daten übernommen worden sind. Wäre es aber an dieser Stelle nicht evtl. besser, wenn ich den Datencontainer im Main-Thread freigebe und den aus dem Thread übernehme?! Oder bekomme ich da evtl. Probleme, da dieser Container ja im "Lade-Thread" erzeugt wird? Was würde für die aktuelle Lösung mit dem Assign sprechen?

Ich sollte an dieser Stelle noch erwähnen, dass ich immer alle Daten neu lade und nicht nur Teile, da es sonst unter Umständen inkonsistent werden könnte, was ich auf jeden Fall verhindert muss. Dies liegt vor allem an den Verknüpfungen der Datensätze untereinander.
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat