1. Baru : Objek thread baru saja dibuat, akan tetapi belum mulai dijalankan, sehingga belum bisa berbuat apa-apa.
2. Bisa-jalan : Artinya objek ini sudah dimulai dan sudah bisa dijalankan oleh mekanisme pembagian waktu oleh CPU. Sehingga thread ini bisa jalan kapan saja, selama diperintahkan oleh penjadwal thread.
3. Mati : suatu thread biasanya mati ketika selesai menjalankan metode
run()
. Sebelumnya, kita bisa memanggi metode stop()
,
akan tetapi program bisa berada dalam kondisi tidak stabil jika metode
ini dipanggil. Kita akan lihat beberapa metode lain untuk menghentikan
thread di bagian berikutnya.4. Diblok : Thread seharusnya bisa berjalan, akan tetapi ada yang menghalanginya.
Salah satunya adalah jika thread menunggu di bagian kritis sementara ada thread lain yang sedang menjalankan bagian kritis tersebut. Ketika suatu thread berada dalam kondisi diblok, penjadwal thread akan mengabaikannya dan tidak memberikan waktu CPU.
Bagaimana Suatu Thread Berada dalam Kondisi Diblok
Ketika suatu thread diblok, ada suatu alasan kenapa thread tersebut tidak bisa terus berjalan. Suatu thread dapat diblok karena beberapa alasan sebagai berikut :
- Kita memberi perintah thread untuk tidur dengan
sleep(milidetik)
sehingga thread tidak akan jalan dalam waktu yang sudah disebutkan - Kita memerintahkan thread untuk menunggu dengan perintah
wait()
. Thread tidak akan dijalankan kembali hingga diberikan pesannotify()
ataunotifyAll()
. - Thread sedang menunggu selesainya operasi I/O
- Thread mencoba memanggil metode dengan kata kunci
synchronized
, akan tetapi thread lain sedang memegang kuncinya.
Sumber : http://java.lyracc.com/belajar/java-untuk-pemula/siklus-hidup-thread
Tidak ada komentar:
Posting Komentar