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!