16 Stimmen

Wie viele Möglichkeiten gibt es, um in Java einen neuen Thread zu erstellen?

Eigentlich, welche anderen Möglichkeiten gibt es neben dem Erweitern der Thread-Klasse und der Implementierung des Runnable-Interfaces?

3 Stimmen

Es ist keine gute Herangehensweise, die Thread-Klasse zu erweitern! Verwenden Sie immer die letztere.

0 Stimmen

Das ist im Grunde genommen alles. Es gibt andere Möglichkeiten, Runnables auszuführen, wie ThreadPoolExecutor usw., aber sie erfordern alle die Implementierung des Runnable-Interfaces.

1voto

subhashis Punkte 4404

Es gibt nur zwei Möglichkeiten, einen Thread zu erstellen, die Sie bereits erwähnt haben, aber es gibt eine dritte Möglichkeit, den Thread zu starten.

In Java 1.5 gibt es eine weitere Möglichkeit, einen Thread zu starten. Das erfolgt durch den "ExecutorService". Alle diese Klassen stammen aus dem Paket "java.util.concurrent". Es gibt verschiedene Möglichkeiten, einen "ExecutorService" mithilfe der Factory-Klasse "Executors" zu erstellen. Folgendes ist eine Möglichkeit, einen "ExecutorService" zu erstellen.

ExecutorService es = Executors.newSingleThreadExecutor();

RunnableImpl r = new RunnableImpl();

Future fu = es.submit(r);

Mit den Methoden des "ExecutorService" können entweder Runnable-Objekte oder Callable-Objekte zur Ausführung an den Service übergeben werden.

Jedoch kann dies nicht als der neue Weg zur Erstellung eines Threads bezeichnet werden. Das liegt daran, dass der ExecutorService intern die Klasse "ThreadFactory" verwendet, um einen neuen Thread zu erstellen, der intern entweder die erste oder die zweite Methode verwendet. Daher müssen wir sagen, dass es nur zwei Möglichkeiten gibt, Threads zu erstellen, aber es gibt einen neuen Weg in Java 1.5, um einen Thread zu starten, jedoch keinen neuen Thread zu erstellen.

0 Stimmen

Einverstanden, aber callable ist immer noch eine andere Möglichkeit, einen Thread zu erstellen. Mit Callable können Sie den Wert aus dem Thread mithilfe von Future zurückgeben, sobald er fertig ist. Daher ist es sicherlich anders als Runnable und daher

0voto

Für das Erstellen eines Threads gibt es in Java nur eine Möglichkeit

d.h. die start() Methode der Thread-Klasse, aber es gibt verschiedene Möglichkeiten, den Thread auszuführen

wie 1.Thread      2.Runnable      3.RunnableFeature      4.Callable
     5.ERxecutorService... etc

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X