Warum eigenes Thread-Objekt mit Thread-Klasse erstellen?

Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.

Warum eigenes Thread-Objekt mit Thread-Klasse erstellen?
Hallo,

wann und warum muss man eine eigene Thread-Klasse mithilfe der Standard-Thread-Klasse erstellen?
(Beispiel aus WS12-Klausur anbei)

Attachment:
new Thread(new Worker).png: https://fsi.cs.fau.de/unb-attachments/post_157275/new Thread(new Worker).png


Ich würde sagen, der Worker ist an dieser Stelle ein Runnable. Threads haben zwei Konstuktoren: einen ohne Parameter, wo man die run() dann direkt implementiert und einen indem man ein Runnable übergibt dessen run() Methode Thread dann aufruft. Nutzt man Runnables (Interfaces), so hat man quasi noch die Vererbung für anderes Verhalten der Klasse “übrig”. In Java kann man ja nur von einer Klasse ableiten, aber beliebig viele Interfaces implementieren.


In deinem konkreten Beispiel aus der Klausur ist auch vorgegeben, dass:

  1. Die vorgegebene Worker-Klasse das Runnable-Interface implementiert
  2. Es wurde bereits ein Thread-Array angelegt

Somit bietet es sich an, mit diesem Thread-Array zu arbeiten, und dann bleibt dir nichts anderes übrig als Standard-Threads mit übergebenen Runnables zu verwenden.