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
Loading...

Belum ada Komentar untuk "Belajar Menggunakan Thread Pool di Program Java"

Posting Komentar

Silakan berkomentar dengan baik ,jangan SPAM di komentar ini . NO BACKLINK /LINK HIDUP

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel