Maison  >  Article  >  Java  >  Comment récupérer une valeur modifiée à partir d’un thread en Java ?

Comment récupérer une valeur modifiée à partir d’un thread en Java ?

Linda Hamilton
Linda Hamiltonoriginal
2024-10-31 04:46:02988parcourir

How to Retrieve a Modified Value from a Thread in Java?

Comment puis-je récupérer la valeur modifiée d'un thread ?

Dans ce scénario, un thread, en particulier un HandlerThread, s'exécute dans la méthode test() et un la valeur est modifiée dans ce fil. Le défi consiste à renvoyer cette valeur modifiée à la méthode test() pour un traitement ou une utilisation ultérieure.

Une approche consiste à créer un thread qui implémente l'interface Runnable, comme le montre l'extrait de code fourni. Dans la méthode run() de ce fil, vous pouvez définir la valeur selon vos besoins. De plus, vous pouvez créer une méthode getValue() pour récupérer cette valeur en externe.

Pour récupérer la valeur, vous pouvez lancer le thread, attendre qu'il se termine (via join()), puis accéder à la valeur en utilisant la méthode getValue().

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

    @Override
    public void run() {
        value = 2;
    }

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

Dans la méthode principale :

<code class="java">CustomThread thread = new CustomThread();
Thread t = new Thread(thread);
t.start();
t.join();
int retrievedValue = thread.getValue();</code>

N'oubliez pas que l'utilisation d'une variable volatile comme la valeur garantit la visibilité et la cohérence entre les threads.

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