Slyh: einen Thread zweimal starten

Beitrag lesen

Hallo,

Beim ersten start() wird mir noch was vom Thread ausgegeben, beim zweiten leider nicht mehr. Ich hab auch schon mittels t1.isAlive() überprüft, ob der Thread noch "am Leben" ist nach dem zweiten Start: ist er! Er lässt sich sogar noch mittels run() aufrufen, allerdings arbeitet er dann ja nicht im Hintergrund =(

Der direkte Aufruf von run() hat nichts zu sagen. Das geht immer.

Daß sich der Thread nicht ein zweites mal mit start() starten läßt,
_nachdem_ er beendet wurde, finde ich interessant. Das wußte ich
bisher auch nicht. Interessant ist auch, daß keine Exception geworfen
wird, wenn der Thread vorher beendet wurde.
Wenn man start() aufruft, während der Thread noch läuft, wird nämlich
eine geworfen.

Das JavaDoc zu java.lang.Thread sagt leider nichts zum mehrfachen
Aufruf von start(). Vielleicht sagt die Language Specification etwas
darüber aus. Guck doch mal dort nach. (Beim groben Drüberfliegen habe
ich jetzt nichts dazu gefunden.)

Die einzige Möglichkeit, die ich sehe, wäre jeweils ein neues Thread-
Objekte zu erzeugen.

Thread t1 = new ThreadEins();
  t1.start();

// .... verschiedene Operationen

Thread t2 = new ThreadEins();
  t2.start();

Aber vielleicht willst du das gar nicht...

Evtl. weiß auch noch jemand anderes hier im Forum näheres über das
mehrmalige Starten eines Threads.

Gruß
Slyh