Penggabungan Thread
Tujuan multithreading adalah agar thread-thread melakukan pekerjaan secara paralel sehingga program dapat berjalan dengan lebih baik. Thread tambahan yang dibuat akan berjalan secara terpisah dari thread yang membuatnya. Namun, ada keadaan tertentu di mana thread utama perlu menunggu sampai thread yang dibuatnya itu menyelesaikan tugasnya. Misalnya saja, untuk bisa mengerjakan instruksi selanjutnya, thread utama membutuhkan hasil penghitungan yang dilakukan oleh thread anak. Pada keadaan seperti ini, thread utama bisa menunggu selesainya pekerjaan thread anak dengan pemanggilan method
join()
.
Contohnya, dalam suatu program, thread utama membuat sebuah thread tambahan bernama
t1
.
try{
t1.join();
} catch (InterruptedException ie) {};
Kode di atas menunjukkan bahwa thread utama akan menunggu sampai thread
t1
menyelesaikan tugasnya, yaitu sampai method run()
dari t1
terminate, baru melanjutkan tugasnya sendiri. Pemanggilan method join()
harus diletakkan dalam suatu blok try-catch
karena jika pemanggilan tersebut terjadi ketika thread utama sedang diinterupsi oleh thread lain, maka join()
akan melempar InterruptedException
.InterruptedException
akan mengakibatkan terminasi thread yang sedang berada dalam status blocked.
0 komentar:
Posting Komentar
Please Give Your Feedback Or Message.
Thank You!!?