Skip to content Skip to sidebar Skip to footer

Belajar Menggunakan Thread Pool di Program Java

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

Namun akan menjadi masalah , ketika program aplikasi memerlukan pembuatan 10 atau 20 thread untuk menjalankan task secara bersamaan. Bahkan untuk program aplikasi multithreading , bisa saja mencapai ratusan atau ribuan thread ,yang akan dijalankan secara bersamaan. Untuk itu  kita harus mengatasi masalah ini  , dengan cara memisahkan pembuatan dan mengatur atau manajemen thread.

belajar cara contoh penggunaan executor service task fungsi apa itu thread pool di program java


Thread Pool adalah sekumpulan thread , yang akan mengatur banyaknya thread dibuat, dari  task queue(antrian) , yang selanjutnya akan mengeksekusi task sampai selesai.  Pada artikel belajar java kali ini,  kita akan mencoba membuat contoh 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 bisa perhatikan contoh code ,beserta penjelasanya di bawah :


Contoh Code :

contoh code penggunaan thread pools executorservice task queue di program java
Contoh Code


Penjelasan : 

Pada contoh program di atas , pertama-tama kita membuat class yang bernama Prosesor , yang mengimplementasi interface Runnable.

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

Lalu ,disini kita dapat 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 selesai task.


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

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

ExecutorService disini akan berperan sebagai siklus hidup task ,yang mengatur aliran eksekusi task.


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

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


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

Setelah itu ,kita memanggil method .awaitTermination() ,yang akan memblock , sampai semua task selesai di eksekusi , setelah permintaan shutdown , dalam rentang waktu yang telah ditentukan

Untuk memahami proses kerjanya ,kalian bisa melihat contoh gambar ilustrasinya , di bawah :

Contoh gambar ilustrasi thread pool executor service task blocking queue submit new task
Contoh gambar ilustrasi thread pool 

Output :

Output Hasil contoh code penggunaan thread pools executorservice task queue di program java
Output Hasil

Post a Comment for "Belajar Menggunakan Thread Pool di Program Java"