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!