Heim  >  Artikel  >  Java  >  Wie übergebe ich Parameter an Java-Threads?

Wie übergebe ich Parameter an Java-Threads?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-06 17:41:02342Durchsuche

How to Pass Parameters to Java Threads?

Übergabe von Parametern an Java-Threads

In Java werden Threads durch die Implementierung der Runnable-Schnittstelle erstellt. Standardmäßig akzeptieren ausführbare Objekte keine Argumente. Wenn Sie jedoch Parameter an einen Thread übergeben müssen, gibt es zwei Strategien: Wrapper-Klassen oder anonyme Klassen.

Wrapper-Klassen

Eine Möglichkeit, Parameter an a zu übergeben Thread soll eine Wrapper-Klasse verwenden. Dabei wird eine Klasse erstellt, die das Runnable-Interface implementiert und in ihrem Konstruktor die gewünschten Parameter entgegennimmt. Hier ist ein Beispiel:

<code class="java">public class ParameterizedRunnable implements Runnable {

    private final Object parameter;

    public ParameterizedRunnable(Object parameter) {
        this.parameter = parameter;
    }

    public void run() {
        // Use the passed parameter here
    }
}</code>

Sie können dann diese Klasse verwenden, um einen Thread zu erstellen und ihm den Parameter zu übergeben:

<code class="java">Runnable runnable = new ParameterizedRunnable(myParameter);
new Thread(runnable).start();</code>

Anonyme Klassen

Anonyme Klassen können auch verwendet werden, um Parameter an Threads zu übergeben. Eine anonyme Klasse ist eine Klasse, die gleichzeitig definiert und instanziiert wird. Hier ist ein Beispiel für die Verwendung einer anonymen Klasse zum Übergeben eines Parameters an einen Thread:

<code class="java">Thread thread = new Thread(() -> {
    // Use the passed parameter here
}, myParameter);
thread.start();</code>

In diesem Beispiel definiert der an den Thread-Konstruktor übergebene Lambda-Ausdruck eine anonyme Klasse, die die Runnable-Schnittstelle implementiert und den myParameter empfängt als Parameter.

Das obige ist der detaillierte Inhalt vonWie übergebe ich Parameter an Java-Threads?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn