Rumah >Java >javaTutorial >Bagaimana untuk Mendapatkan Nilai Ubahsuai daripada Benang di Java?

Bagaimana untuk Mendapatkan Nilai Ubahsuai daripada Benang di Java?

Linda Hamilton
Linda Hamiltonasal
2024-10-31 04:46:021073semak imbas

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

Bagaimanakah Saya Boleh Mendapatkan Nilai yang Diubah daripada Benang?

Dalam senario ini, benang, khususnya HandlerThread, dilaksanakan dalam kaedah test() dan nilai diubah suai dalam urutan itu. Cabarannya terletak pada mengembalikan nilai yang diubah suai ini kepada kaedah test() untuk pemprosesan atau penggunaan selanjutnya.

Satu pendekatan adalah untuk mencipta urutan yang melaksanakan antara muka Runnable, seperti yang dilihat dalam coretan kod yang disediakan. Dalam kaedah run() thread ini, anda boleh menetapkan nilai seperti yang diperlukan. Selain itu, anda boleh mencipta kaedah getValue() untuk mendapatkan semula nilai ini secara luaran.

Untuk mendapatkan semula nilai, anda boleh melancarkan urutan, tunggu sehingga ia selesai (melalui join()), dan kemudian akses nilai menggunakan kaedah 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>

Dalam kaedah utama:

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

Ingat bahawa menggunakan pembolehubah tidak menentu seperti nilai memastikan keterlihatan dan konsistensi merentas urutan.

Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Nilai Ubahsuai daripada Benang di Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn