Sunday, August 12, 2018

Belajar Memakai Thread Pool Di Agenda Java

Pada artikel sebelumnya ,kita telah mencar ilmu menciptakan thread , dengan cara mewariskan (extends) Thread , atau juga memgimplementasi (implements)  dengan interface Runnable . Meskipun untuk menciptakan satu atau dua thread , dan menjalankanya akan terasa mudah. 

Namun akan menjadi duduk perkara , dikala aktivitas aplikasi memerlukan pembuatan 10 atau 20 thread untuk menjalankan task secara bersamaan. Bahkan untuk aktivitas aplikasi multithreading , sanggup saja mencapai ratusan atau ribuan thread ,yang akan dijalankan secara bersamaan. Untuk itu  kita harus mengatasi duduk perkara ini  , dengan cara memisahkan pembuatan dan mengatur atau administrasi thread.

 Meskipun untuk menciptakan satu atau dua thread  Belajar Menggunakan Thread Pool di Program Java


Thread Pool yakni sekumpulan thread , yang akan mengatur banyaknya thread dibuat, dari  task queue(antrian) , yang selanjutnya akan mengeksekusi task hingga selesai.  Pada artikel mencar ilmu java kali ini,  kita akan mencoba menciptakan rujukan penggunaan thread pool , di bahasa pemrograman java. Selengkapnya ,berikut mari kita simak lebih lanjut :



1. Pertama buka IntelliJ IDEA ,atau Software IDE lain yang kalian gunakan , di Komputer atau Laptop kalian.



2. Kalian sanggup perhatikan rujukan code ,beserta penjelasanya di bawah :


Contoh Code :

 Meskipun untuk menciptakan satu atau dua thread  Belajar Menggunakan Thread Pool di Program Java
Contoh Code


Penjelasan : 

Pada rujukan aktivitas di atas , pertama-tama kita menciptakan class yang berjulukan Prosesor , yang mengimplementasi interface Runnable.

Selanjutnya kita deklarasikan  variable id, yang akan dikembalikan nilainya , pada parameter constructor  milik class Prosesor.

Lalu ,disini kita sanggup mendeklarasikan method .run() ,yang berasal dari interface Runnable. 

Dimana di dalam method tersebut ,kita menjalankan handling  block try catch ,  untuk mengeksekusi method Thread.sleep()  , yang akan mendelay thread selama 5 detik , untuk jarak antara memulai dan final task.


Pada class Aplikasi , ibarat biasa kita akan mencoba , menjalankan programnya di method main.

Di baris code pertama , kita akan memakai class ExecutorService ,yang akan memuat blocking queue  atau antrian task , dan juga Thread Pools.

ExecutorService disini akan berperan sebagai siklus hidup task ,yang mengatur pedoman sanksi task.


Pada var referensi service ,kita mereferensikan nilai , pada method static yaitu Executors.newFixedThreadPool(2). Dimana artinya ,kita akan memilih ukuran tetap,   2 thread yang bekerja  secara bersamaan  di ThreadPool.

Selanjutnya ,kita memakai looping for , untuk mensubmit 5 task yang dari  2 thread yang bekerja di Thread Pool.


Lalu disini kita memakai method .shutdown() ,untuk mematikan semua service ,yang akan mencegah aktivitas aplikasi , mengirim (submit) task baru.

Setelah itu ,kita memanggil method .awaitTermination() ,yang akan memblock , hingga semua task final di sanksi , sesudah seruan shutdown , dalam rentang waktu yang telah ditentukan

Untuk memahami proses kerjanya ,kalian sanggup melihat rujukan gambar ilustrasinya , di bawah :

 Meskipun untuk menciptakan satu atau dua thread  Belajar Menggunakan Thread Pool di Program Java
Contoh gambar gambaran thread pool 

Output :

 Meskipun untuk menciptakan satu atau dua thread  Belajar Menggunakan Thread Pool di Program Java
Output Hasil


EmoticonEmoticon