Objekt innerhalb eines Threads modifizieren

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Popkultur
User
Beiträge: 30
Registriert: Donnerstag 20. Oktober 2016, 16:46

Ich habe ein paar Threads, in denen jeweils ein Objekt initialisiert und genutzt wird. Nun möchte ich, dass der Haupt-Thread ein Attribut des Objekts in einem bestimmten Sub-Thread modifiziert. Geht das, und wenn ja, wie?
DasIch
User
Beiträge: 2718
Registriert: Montag 19. Mai 2008, 04:21
Wohnort: Berlin

Das macht man genauso wie sonst auch bloß dass du ggfs. ein Lock verwenden musst. Grundsätzlich sollte man sowas aber möglichst vermeiden (nicht die Locks, Daten aus mehreren Threads heraus verändern oder in einem verändern und in einem anderen lesen).
Popkultur
User
Beiträge: 30
Registriert: Donnerstag 20. Oktober 2016, 16:46

Es geht mehr darum, die "Eigenschaft" eines Threads zu verändern dadurch, dass man das in ihm instantiierte Objekt in seinem Attribut verändert. Ein Thread, der eine grüne Schlange kriechen lässt, kann dann die Farbe der Schlange auf rot wechseln.

// wie es aussieht hab ichs mit einer globalen Variable hinbekommen. Scheint Thread-safe zu sein.
Sirius3
User
Beiträge: 17754
Registriert: Sonntag 21. Oktober 2012, 17:20

@Popkultur: sowas macht man dann am Besten mit einem Event-System (z.B. per Queue). Dann entscheidet nämlich der Thread, wann die neue Information sinnvoll verarbeitet werden kann.
DasIch
User
Beiträge: 2718
Registriert: Montag 19. Mai 2008, 04:21
Wohnort: Berlin

Popkultur hat geschrieben:// wie es aussieht hab ichs mit einer globalen Variable hinbekommen. Scheint Thread-Sage zu sein.
Ist es nicht.

Ansonsten mach was Sirius3 gesagt hab, verwende eine Queue zur Kommunikation.
Antworten