Grundlegendes zu Threads

  • Themenstarter Themenstarter unusedUsername
  • Beginndatum Beginndatum
U

unusedUsername

Hallo.

Ich habe ein Verständnisproblem zu Threads. Wenn ich einen Thread laufen habe, der sich gleich zu Beginn mit wait schlafen legt (in der run-Methode), können andere Threads Funktionen von dem Thread ausführen, trotz dessen dass der noch im wait Zustand ist. Der wird also gar nicht interrupted. Warum geht denn das, müsste der nicht eine interrupt-Exception werfen? In einer dieser Funktionen ist auch ein sleep drin, der den Thread auch nochmal schlafen legt ... das verwirrt mich etwas, weil eigentlich liegt der doch irgendwie eh im wait-Zustand.

Viele Dank im Voraus!
 
Der Thread selbst schläft vielleicht, das mag sein, das interessiert aber die Methoden des Threads recht herzlich wenig, denn diese sind ja nicht an den "Wachzustand" des Threads gebunden und deswegen wird es den Schlaf des Threads auch nicht sören, es sei denn man weckt den Thread in einer der Methoden auf.

Ich lasse mich natürlich auch belehren, aber das ist das, was ich dazu sagen kann.
 
Sehe ich auch so, hab zwar nur Userwissen, aber denke mit wait wartet er wie bei sleep nur die Abarbeitung die in der run bzw. der main startet.
Wie meinst du das? Der Monitor ist doch nur zum looken da, da ist es doch voll kommen egal um was für eine Instanz es sich handelt. Es empfiehlt sich afaik sowieso, this bei Instanzmethoden oder das Klassenobjekt bei statischen zu benutzen.
 
Zurück