G
Guest
Gast
Hallo,
ich möchte einen Thread erstellen, der solange läuft, bis ich ihn explizit beende.
Der Thread "ist" eine Klasse, welche Runnable implementiert. Nun ist ein field dieser Klasse ein Objekt, welches in der run() Methode instantiiert wird. (Im Detail ruft der Konstruktor dieses run auf):
Sieht ungefähr so aus:
Eine Instanz dieser Klasse wird nun woanders erstellt und als Referenz gehalten.
Nun meine Frage, funktioniert das so? Also bleibt der Thread mit dem Object am Leben, so lange ich eine Referenz auf myObjectHoldingThread halte? Oder ist es davon unabhängig?
ich möchte einen Thread erstellen, der solange läuft, bis ich ihn explizit beende.
Der Thread "ist" eine Klasse, welche Runnable implementiert. Nun ist ein field dieser Klasse ein Objekt, welches in der run() Methode instantiiert wird. (Im Detail ruft der Konstruktor dieses run auf):
Sieht ungefähr so aus:
Code:
class MyObjectHoldingThread implements Runnable
{
private MyObject myObject;
private MyObjectParams myObjectParams;
public MyObjectHoldingThread(MyObjectParams params)
{
myObjectParams = params;
new Thread( this ).start();
}
public void run()
{
myObject = new MyObject(myObjectParams);
}
}
Eine Instanz dieser Klasse wird nun woanders erstellt und als Referenz gehalten.
Code:
...
private MyObjectHoldingThread myObjectHoldingThread;
...
myObjectHoldingThread = new myObjectHoldingThread(new MyObjectParams());
...
Nun meine Frage, funktioniert das so? Also bleibt der Thread mit dem Object am Leben, so lange ich eine Referenz auf myObjectHoldingThread halte? Oder ist es davon unabhängig?