Rekayasa Perangkat Lunak
191
8.7. MULTI - THREADI NG
8.7.1. Pengertian Thread
Sebuah thread merupakan sebuah pengontrol aliran program. Untuk lebih
mudahnya, bayangkanlah thread sebagai sebuah proses yang akan dieksekusi di
dalam sebuah program tertentu. Thread adalah suatu bagian program yang
tidak tergantung pada bagian lain dan dapat dijalankan secara bersama-sama. Hal ini berarti suatu
thread dapat diberhentikan atau diistirahatkan tanpa harus menghentikan yang lainnya. Pada Java setiap
thread dikontrol oleh suatu obyek unik turunan
Thread, yang didefinisikan di dalam paket
java.lang
. Pada saat sebuah program Java dijalankan, sebenarnya terdapat satu
thread yang secara otomatis dibuat. Thread ini biasa disebut sebagai thread utama.
Thread ini merupakan induk dari dari thread-thread yang lain. Meskipun thread utama ini otomatis dijalankan tetapi kita dapat mengendalikannya melalui
obyek Thread dengan memanggil method currentThread. Perhatikan contoh
berikut. Contoh 8.19. Thread utama.
class ThreadUtama { public static void mainString[] args
throws InterruptedException {
mendapatkan thread yang sedang aktif Thread tUtama = Thread.currentThread;
menampilkan informasi tentang thread System.out.printInformasi thread: ;
System.out.printlntUtama.toString;
for int i=0; i5; i++ { System.out.printlnDetik ke- + i+1;
Thread.sleep1000; membuat delay selama 1 detik }
} }
Pada contoh di atas, kita mendefinisikan thread dengan nama
tUtama
. Variabel ini kita gunakan untuk menangkap thread utama yang sedang berjalan
pada program dengan perintah
Thread.currentThread.
Kemudian informasi tentang thread ini kita tampilkan di layar. Pada baris yang dimulai
dengan for, kita akan menggunakan perintah untuk mengontrol thread yang sedang berjalan. Kita menggunakan
method sleep untuk mengontrol thread agar menunda pekerjaan selama 1 detik tiap kali pengulangan. Cobalah ketik
kode di atas, kemudian jalankan. Kemudian coba hapus baris
Thread.sleep1000
; . Jalankan lagi program. Apa yang berbeda?
Di unduh dari : Bukupaket.com
192
Rekayasa Perangkat Lunak
8.7.2. Pembuatan dan Penggunaan Thread