Lingkungan operasi tutorial ini: sistem Windows 7, versi Java 10, komputer DELL G3.
1. Baru : Thread yang belum dimulai setelah pembuatan berada dalam status ini.
2. Runnable : mencakup Running dan Ready dalam status thread sistem operasi. Artinya, thread dalam status ini mungkin sedang dieksekusi, atau mungkin menunggu sistem operasi mengalokasikan waktu eksekusi ke dalamnya.
3. Menunggu : Thread dalam keadaan ini tidak akan dialokasikan waktu eksekusi prosesor. Thread tersebut harus menunggu untuk dibangunkan secara eksplisit oleh thread lain. Metode berikut akan menyebabkan thread berada dalam status menunggu:
Metode Object::wait() tidak menyetel parameter Timeout;
Metode Thread::join() tanpa menyetel parameter Timeout;
LockSupport::park() metode.
4. Jangka Waktu Menunggu : Thread dalam keadaan ini tidak akan dialokasikan waktu eksekusi prosesor, tetapi thread tersebut tidak perlu menunggu untuk dibangunkan secara eksplisit oleh thread lain. Thread tersebut akan secara otomatis dibangunkan oleh sistem setelah jangka waktu tertentu. Metode berikut akan menempatkan thread ke dalam status menunggu tenggat waktu:
Metode Objek::tunggu() dengan set parameter Timeout;
Metode Thread::join() dengan set parameter Timeout;
LockSupport::parkNanos() metode;
LockSupport::parkUntil() metode.
5. Diblokir : Thread diblokir. Perbedaan antara "status diblokir" dan "status menunggu" adalah bahwa "status diblokir" sedang menunggu untuk mendapatkan kunci eksklusif. Peristiwa ini akan terjadi ketika thread lain melepaskan kuncinya "status menunggu" adalah menunggu selama jangka waktu tertentu, atau hingga tindakan bangun terjadi. Thread akan memasuki keadaan ini sementara program menunggu untuk memasuki area sinkronisasi.
6. Dihentikan : Status thread dari thread yang dihentikan, thread telah berakhir eksekusinya.
Di atas adalah enam status thread Java. Saya harap dapat bermanfaat bagi semua orang.
Panduan pembelajaran Java lainnya: tutorial java