«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как получить измененное значение из потока в Java?

Как получить измененное значение из потока в Java?

Опубликовано 9 ноября 2024 г.
Просматривать:140

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

Как я могу получить измененное значение из потока?

В этом сценарии поток, в частности HandlerThread, выполняется внутри метода test(), а значение изменяется внутри этого потока. Задача состоит в том, чтобы вернуть это измененное значение обратно в метод test() для дальнейшей обработки или использования.

Один из подходов — создать поток, реализующий интерфейс Runnable, как показано в предоставленном фрагменте кода. В методе run() этого потока вы можете установить необходимое значение. Кроме того, вы можете создать метод getValue() для получения этого значения извне.

Чтобы получить значение, вы можете запустить поток, дождаться его завершения (через join()), а затем получить доступ к значению используя метод getValue().

public class CustomThread implements Runnable {
    private volatile int value;

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

    public int getValue() {
        return value;
    }
}

В основном методе:

CustomThread thread = new CustomThread();
Thread t = new Thread(thread);
t.start();
t.join();
int retrievedValue = thread.getValue();

Помните, что использование изменчивой переменной, такой как value, обеспечивает видимость и согласованность между потоками.

Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3