Objekt innerhalb eines Threads modifizieren
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?
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).
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.
// wie es aussieht hab ichs mit einer globalen Variable hinbekommen. Scheint Thread-safe zu sein.
Ist es nicht.Popkultur hat geschrieben:// wie es aussieht hab ichs mit einer globalen Variable hinbekommen. Scheint Thread-Sage zu sein.
Ansonsten mach was Sirius3 gesagt hab, verwende eine Queue zur Kommunikation.