Pernah suatu ketika ada seorang temen yang bertanya kepada saya apa itu Thread dalam Java, bagaimana cara kerja Thread ini, apa itu MultiThreading process? Dan lain lain. Sebetulnya sudah banyak sekali tutorial tentang pengertian dan penulisan Thread yang tersebar di internet, tapi disini saya akan mencoba untuk menjelaskan dan memberikan contoh tentang Thread berdasarkan kemampuan saya. : )
Sebetulnya kata ‘Thread’ ini bukan nya terdapat dalam Java, tetapi hampir di semua lingkup komputer. Bila anda pengguna Windows maka pasti sering sekali menemui kata Thread di Windows Manager. Thread ini dalam pemikiran saya bisa dibilang sebuah ‘task execution’ dalam sebuah program. Banyak Thread yang running secara bersama-sama disebuat MultiThreading.
Sebuah program yang handal adalah program yang dapat membuat MultiThreading, sehingga source CPU dapat di hemat.
Setiap thread dalam Java dibuat dan dikontrol oleh java.lang.Thread class. Sebuah program Java dapat memiliki lebih dari sebuah Thread dan dapat berjalan bersamaan maupun bergantian.
Pasti anda belum tau bahwa MultiThreading itu berbeda dengan Multiprocessing, Multithreading memiliki keunggulan dibandingkan Multiprocessing yaitu sebagai berikut:
1. Thread lebih ringan dibandingkan dengan proses
2. Thread dapat berbagi data dan kode
3. Switching antar Thread jauh lebih hemat cpu dari pada process
4. Thread memungkinkan tugas yang berbeda yang akan dilakukan secara bersamaan
5. Dan lain lain
Nah, dalam pembuatan Thread ini ada 2 cara yaitu:
- Dengan mengimplementasikan Runnable Interface (java.lang.Runnable)
- Dengan meng-extends kan Thread Class (java.lang.Extends)
Mari kita bahas satu per satu,
A. Membuat Thread dengan mengimplementasikan Runnable Interface (java.lang.Runnable)
Coba perhatikan code di bawah ini:
Multithread-runnable.java
kode di atas akan menghasilkan:
Ini angka 0
Ini angka 0
Ini angka 1
Ini angka 1
Ini angka 2
Ini angka 2
Ini angka 3
Ini angka 3
Ini angka 4
Ini angka 4
B. Membuat Thread dengan meng-extends kan Thread Class (java.lang.Extends)
Coba perhatikan code dibawah ini:
Multithread.java
kode diatas akan menghasilkan:
Ini angka 0
Ini angka 0
Ini angka 1
Ini angka 1
Ini angka 2
Ini angka 2
Ini angka 3
Ini angka 3
Ini angka 4
Ini angka 4
Dari contoh 2 class diatas anda dapat melihat perbedaan yang mencolok pada method ContohThread. Silahkan anda perhatikan.
Sebuah program yang handal adalah program yang dapat membuat MultiThreading, sehingga source CPU dapat di hemat.
Setiap thread dalam Java dibuat dan dikontrol oleh java.lang.Thread class. Sebuah program Java dapat memiliki lebih dari sebuah Thread dan dapat berjalan bersamaan maupun bergantian.
Pasti anda belum tau bahwa MultiThreading itu berbeda dengan Multiprocessing, Multithreading memiliki keunggulan dibandingkan Multiprocessing yaitu sebagai berikut:
1. Thread lebih ringan dibandingkan dengan proses
2. Thread dapat berbagi data dan kode
3. Switching antar Thread jauh lebih hemat cpu dari pada process
4. Thread memungkinkan tugas yang berbeda yang akan dilakukan secara bersamaan
5. Dan lain lain
Nah, dalam pembuatan Thread ini ada 2 cara yaitu:
- Dengan mengimplementasikan Runnable Interface (java.lang.Runnable)
- Dengan meng-extends kan Thread Class (java.lang.Extends)
Mari kita bahas satu per satu,
A. Membuat Thread dengan mengimplementasikan Runnable Interface (java.lang.Runnable)
Coba perhatikan code di bawah ini:
Multithread-runnable.java
kode di atas akan menghasilkan:
Ini angka 0
Ini angka 0
Ini angka 1
Ini angka 1
Ini angka 2
Ini angka 2
Ini angka 3
Ini angka 3
Ini angka 4
Ini angka 4
B. Membuat Thread dengan meng-extends kan Thread Class (java.lang.Extends)
Coba perhatikan code dibawah ini:
Multithread.java
kode diatas akan menghasilkan:
Ini angka 0
Ini angka 0
Ini angka 1
Ini angka 1
Ini angka 2
Ini angka 2
Ini angka 3
Ini angka 3
Ini angka 4
Ini angka 4
Dari contoh 2 class diatas anda dapat melihat perbedaan yang mencolok pada method ContohThread. Silahkan anda perhatikan.