Rumah >Java >javaTutorial >Bagaimanakah saya boleh mendapatkan semula nilai yang dikira dalam benang daripada kaedah utama?

Bagaimanakah saya boleh mendapatkan semula nilai yang dikira dalam benang daripada kaedah utama?

Linda Hamilton
Linda Hamiltonasal
2024-10-30 00:38:29550semak imbas

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

Meluluskan Nilai daripada Benang

Apabila bekerja dengan benang, seseorang mungkin menghadapi keperluan untuk mendapatkan semula nilai yang dikira dalam benang daripada kaedah utama. Ini boleh menimbulkan cabaran, kerana benang tidak mempunyai mekanisme untuk mengembalikan nilai. Walau bagaimanapun, terdapat strategi untuk mengatasi had ini.

Satu pendekatan melibatkan penggunaan kelas benang tersuai yang merangkumi kaedah untuk mengakses nilai yang dikira:

<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>

Kaedah utama kemudiannya boleh menggunakan ini urutan tersuai seperti berikut:

<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>

Dengan merujuk urutan seperti kelas biasa, kaedah utama mendapat akses kepada nilai yang dikira.

Atas ialah kandungan terperinci Bagaimanakah saya boleh mendapatkan semula nilai yang dikira dalam benang daripada kaedah utama?. 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