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

1 Kontribusi 0 Poin

Diperbarui 5 tahun yang lalu

2 Jawaban:

pada class yang implements Callable

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

avatar kikimf
@kikimf

91 Kontribusi 78 Poin

Dipost 5 tahun yang lalu

buat listener:

<pre> interface GetData { void onData(String data); } </pre>

proses class: <pre> class Coba implements Runnable { GetData listener;

Coba(GetData l) {
    listener = l;
}

void run() {
    // lakukan hitungan
    String data = &quot;jos&quot;;
    listener.onData(data); // lemparkan data
}

} </pre>

jalankan: <pre> GetData l = new GetData() { void onData(String data) { // data diterima disini } } // anonim class new Thread(new Coba(l)).start(); </pre>

avatar jajanjawa
@jajanjawa

28 Kontribusi 12 Poin

Dipost 5 tahun yang lalu

Login untuk ikut Jawaban