Java - thread()

Saya mau bertanya ... pada saat saya membuat suatu class dengan "implements runnable" di dalam class tersebut saya berikan thread yaitu dengan method start(), stop(), run(). lalu pertanyaannya bagiamanakah cara untuk mengambil data hasil dari run(), dengan langsung memanggil di java class baru dengan sebuah method?(dimana method baru ini tidak menggunakan thread(start(),stop(),run() lagi))
avatar adenAkbar

Ditanyakan oleh @adenAkbar

1 Kontribusi 0 Poin

Login untuk menanggapi


Jawaban

pada class yang implements Callable
 public String call() throws Exception {
		//proses perhitungan
		String message = //variable yang ingin dioper
		return message;
	} 
kemudian panggil class callable tersebut
 ClassCallAble callableTask = new ClassCallAble ();
			threadPool.submit(callableTask); //menggunakan ThreadPoolExecutor 
avatar kikimf

Dijawab oleh @kikimf

91 Kontribusi 78 Poin

Login untuk menanggapi


buat listener:
interface GetData {
    void onData(String data);
}
proses class:
class Coba implements Runnable {
    GetData listener;

    Coba(GetData l) {
        listener = l;
    }

    void run() {
        // lakukan hitungan
        String data = "jos";
        listener.onData(data); // lemparkan data
    }
}
jalankan:
GetData l = new GetData() {
    void onData(String data) {
        // data diterima disini
    }
} // anonim class
new Thread(new Coba(l)).start();
avatar jajanjawa

Dijawab oleh @jajanjawa

28 Kontribusi 12 Poin

Login untuk menanggapi


Login untuk gabung berdiskusi