Selasa, 31 Maret 2009

Thread di JAVA

Sebuah thread, secara definisi adalah sebuah proses ringan. Mereka digunakan untuk meningkatkan fungsionalitas dan performansi dengan cara melakukan beberapa tugas pada saat yang sama, yaitu bersamaan. Ada dua metode untuk menerapkan thread di dalam Java,
- penerapan sebuah antarmuka
- perpanjangan sebuah class

Thread Java

Dalam kehidupan sehari-hari, penggunaan multithreading dapat kita lihat pada aplikasi web Contohnya adalah sebuah web browser yang harus menampilkan sebuah halaman yang memuat banyak gambar. Pada program yang single-threaded , hanya ada satu thread untuk mengatur suatu gambar, lalu jika gambar itu telah ditampilkan, barulah gambar lain bisa diproses. Dengan multithreading, proses bisa dilakukan lebih cepat jika ada thread yang menampilkan gambar pertama, lalu thread lain untuk menampilkan gambar kedua, dan seterusnya, di mana thread-thread tersebut berjalan secara paralel. Java adalah salah satu bahasa pemrograman yang mendukung penggunaan multithreading. Saat sebuah program Java dieksekusi, yaitu saat main() dijalankan, ada sebuah thread utama yang bekerja. Thread lain yang dibutuhkan dapat dibentuk dengan menuliskan kode program tertentu. Pada kondisi dan keperluan tertentu, thread pada program Java yang sedang dijalankan juga dapat digabung dengan thread utama ataupun dibatalkan. Keseluruhan thread dalam Java diatur oleh Java Virtual Machine (JVM) sehingga sulit untuk menentukan apakah thread Java berada di user-level atau kernel-level
Setiap program Java memiliki paling sedikit satu thread, yang otomatis terbentuk saat dieksekusi. Untuk kebutuhan tertentu, bahasa pemrograman Java memungkinkan adanya pembuatan dan manajemen thread tambahan oleh JVM (Java Virtual Machine). Sebuah
thread bisa berada di salah satu dari 4 status, yaitu new, runnable, blocked, dan dead
Ada dua cara untuk membuat thread dalam Java, yaitu dengan meng-extends kelas Thread atau dengan meng-implements interface Runnable
Dalam beberapa kondisi, thread yang dibuat dapat digabungkan dengan parent thread-nya. Penggabungan ini menggunakan method join(), yang berfungsi agar suatu thread
induk menunggu thread yang dibuatnya selesai menjalankan tugasnya, baru mulai mengeksekusi perintah selanjutnya. Pembatalan thread secara asynchronous dilakukan dengan pemanggilan method stop(). Akan tetapi, cara ini terbukti tidak aman, sehingga untuk menterminasi thread digunakanlah deferred cancellation. Pembatalan dilakukan dengan pemanggilan method interrupt() untuk mengeset status interupsi, serta isInterrupted () atau interrupted () untuk memeriksa status interupsi tersebut. Program Java dapat dijalankan di berbagai platform selama
platform tersebut mendukung JVM. Pemetaan thread Java ke host operating system tergantung pada implementasi JVM di sistem operasi tersebut.

Tidak ada komentar:

Posting Komentar