Maison >Java >javaDidacticiel >Comment puis-je récupérer les valeurs calculées dans un thread à partir de la méthode principale ?

Comment puis-je récupérer les valeurs calculées dans un thread à partir de la méthode principale ?

Linda Hamilton
Linda Hamiltonoriginal
2024-10-30 00:38:29531parcourir

How can I retrieve values computed in a thread from the main method?

Passer des valeurs à partir des threads

Lorsque vous travaillez avec des threads, il peut être nécessaire de récupérer les valeurs calculées dans le thread à partir de la méthode principale. Cela peut présenter un défi, car les threads ne disposent pas intrinsèquement de mécanisme pour renvoyer des valeurs. Cependant, il existe des stratégies pour surmonter cette limitation.

Une approche consiste à utiliser une classe de thread personnalisée qui inclut une méthode pour accéder à la valeur calculée :

<code class="java">public class Foo implements Runnable {
    private volatile int value;

    @Override
    public void run() {
        value = 2; // Compute the value in the thread
    }

    public int getValue() {
        return value;
    }
}</code>

La méthode principale peut alors utiliser cette fil personnalisé comme suit :

<code class="java">Foo foo = new Foo();
Thread thread = new Thread(foo);
thread.start();
thread.join();
int value = foo.getValue(); // Retrieve the value computed in the thread</code>

En référençant le fil comme une classe ordinaire, la méthode principale accède à la valeur calculée.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn