Java thread status: 1. Baru; 2. Bersedia; 4. Menunggu; Pengenalan terperinci: 1. Baru, apabila benang dibuat, ia berada dalam keadaan baru Objek benang telah dibuat, tetapi ia belum dimulakan Dalam keadaan ini, benang belum mula melaksanakan tugas , apabila utas telah Apabila ia dimulakan dan tidak menunggu sumber atau melaksanakan tugas, ia berada dalam keadaan sedia dan utas sedia untuk dijalankan, tetapi sama ada ia benar-benar dilaksanakan bergantung pada penjadualan sistem pengendalian 3. Berlari, dsb.
Sistem pengendalian tutorial ini: sistem Windows 10, komputer DELL G3.
Benang di Jawa boleh berada dalam keadaan berbeza semasa kitaran hayatnya. Mengikut kitaran hayat benang dan spesifikasi Java, utas terutamanya mempunyai keadaan berikut:
1. Baharu (Baharu): Apabila benang dibuat, ia berada dalam keadaan baharu. Pada ketika ini, objek benang telah dibuat, tetapi ia belum dimulakan. Dalam keadaan ini, benang belum mula melaksanakan tugas.
2. Sedia (Boleh Dijalankan): Apabila utas telah dimulakan dan tidak menunggu sumber atau melaksanakan tugas, ia berada dalam keadaan sedia. Pada ketika ini, benang sedia untuk dijalankan, tetapi sama ada ia benar-benar dilaksanakan bergantung pada penjadualan sistem pengendalian. Di Java, benang dimulakan dengan memanggil kaedah start() objek benang untuk menjadikannya memasuki keadaan sedia.
3. Berjalan: Apabila benang memperoleh sumber CPU dan melaksanakan tugas, ia berada dalam keadaan berjalan. Dalam keadaan ini, benang sedang melaksanakan kod dalam kaedah run()nya. Hanya satu utas boleh berada dalam keadaan berjalan, dan utas lain perlu menunggu atau bersaing untuk mendapatkan sumber.
4 Menunggu: Apabila benang disekat oleh benang lain, menunggu keadaan tertentu ditetapkan atau mendapatkan kunci monitor objek, ia berada dalam keadaan menunggu. Pada ketika ini, utas sedang menunggu peristiwa berlaku sebelum ia boleh meneruskan pelaksanaan. Di Java, benang dimasukkan ke dalam keadaan menunggu dengan memanggil kaedah wait() kelas Thread.
5 Menunggu Bermasa: Apabila utas menunggu urutan lain untuk melaksanakan operasi tertentu atau menunggu masa tertentu untuk meneruskan pelaksanaan, ia berada dalam keadaan menunggu bermasa. Di Java, utas memasuki keadaan menunggu berjadual dengan memanggil kaedah sleep() kelas Thread atau menggunakan kelas alat dalam pakej java.util.concurrent.
6. Ditamatkan: Apabila thread menyelesaikan tugas pelaksanaannya atau ditamatkan secara tidak normal, ia berada dalam keadaan ditamatkan. Pada ketika ini, benang tidak lagi berjalan dan tidak boleh dimulakan semula. Di Java, thread ditamatkan dengan memanggil kaedah interrupt() kelas Thread atau menggunakan pengecualian.
Di atas ialah keadaan utama benang Java, yang menerangkan peringkat berbeza benang dalam kitaran hayatnya. Memahami keadaan ini adalah penting untuk memahami dan mengawal tingkah laku program berbilang benang. Dalam pengaturcaraan sebenar, adalah perlu untuk memilih keadaan dan mekanisme yang sesuai mengikut keperluan dan senario khusus untuk mencapai kerja kolaboratif berbilang benang.
Atas ialah kandungan terperinci Beberapa keadaan benang java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!