Wie auf ein Runnable-Objekt von Thread?

Mögliche Duplikate: need-help-Rückgabe-Objekt-im-thread-run-Methode

Hallo. Ich habe eine Klasse die runnable und ich habe eine Liste, speichern Threads instanziiert, mit unterschiedlichen Objekten der Klasse. Wie kann ich auf Eigenschaften der zugrunde liegenden Objekte das thread-Objekt ausgeführt? Hier ist ein Beispiel:

public class SO {
    public static class TestRunnable implements Runnable {
        public String foo = "hello";

        public void run() {
            foo = "world";
        }
    }

    public static void main(String[] args) {
        Thread t = new Thread(new TestRunnable());
        t.start();
        //How can I get the value of `foo` here?
    }
}
Abgesehen von nicht wirklich sicher, was Sie im Sinn haben, denke ich, müssen Sie spiegelung für diese, und auch sicher sein, es ist kein Sicherheits-manager in Ihrem Weg. Aber vielleicht könnten Sie genauer beschreiben, was es ist Sie versuchen, zu erreichen.
Ich glaube, Sie können eine Unterklasse Thread selbst und überschreiben Thread.run() statt übergeben Runnable. Dann foo wäre nur ein Attribut der Thread.
Das ist nicht gut, wenn das Runnable-Klasse muss Unterklasse etwas anderes, da Java erlaubt nur einfachvererbung. Das Hauptziel von java.lang.Lauffähig ist, soweit ich sagen kann, ist, zu umgehen dieses Problem, indem Sie mit Thread(java.lang.Runnable) hinzufügen thread Funktionalität einer Klasse, die bereits Unterklassen etwas anderes.
Ehrlich gesagt, ich kann nicht herausfinden, möglicher Grund, warum Sie wollen, dies zu tun. Vielleicht sollten Sie sich Fragen, eine andere Frage?

InformationsquelleAutor Fluffy | 2010-02-20

Schreibe einen Kommentar