Seite 1 von 1

Objekt innerhalb eines Threads modifizieren

Verfasst: Donnerstag 3. November 2016, 14:06
von Popkultur
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?

Re: Objekt innerhalb eines Threads modifizieren

Verfasst: Donnerstag 3. November 2016, 14:09
von DasIch
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).

Re: Objekt innerhalb eines Threads modifizieren

Verfasst: Donnerstag 3. November 2016, 14:21
von Popkultur
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.

Re: Objekt innerhalb eines Threads modifizieren

Verfasst: Donnerstag 3. November 2016, 14:31
von Sirius3
@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.

Re: Objekt innerhalb eines Threads modifizieren

Verfasst: Donnerstag 3. November 2016, 14:52
von DasIch
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.