Soalan
Benang mempunyai 6 keadaan berikut: baharu, berjalan, disekat, menunggu, menunggu masa dan ditamatkan .
Apabila urutan baharu dibuat, utas berada dalam keadaan baharu dibuat.
Apabila kaedah mula() dipanggil, benang berada dalam keadaan berjalan.
Apabila benang perlu mendapatkan kunci terbina dalam objek, dan kunci itu dimiliki oleh utas lain, benang itu disekat.
Urutan berada dalam keadaan menunggu apabila ia sedang menunggu urutan lain untuk memberitahu penjadual bahawa ia boleh dijalankan.
Untuk beberapa kaedah yang mengandungi parameter masa, seperti kaedah sleep() kelas Thread, utas boleh diletakkan dalam keadaan menunggu masa.
Apabila kaedah run() selesai berjalan atau pengecualian berlaku, benang berada dalam keadaan ditamatkan.
Pelaksanaan: Semak status berjalan pada urutan.
Buat kelas: ThreadState, laksanakan antara muka Runnable
Tentukan 3 kaedah:
waitForASecond (): Jadikan utas semasa menunggu selama 0.5 saat atau utas lain memanggil kaedah notify() atau notifyAll()
waitForYears(): Jadikan utas semasa menunggu selama-lamanya sehingga utas lain memanggil notify() Atau notifyAll() kaedah
notifyNow(): bangunkan benang yang memasuki keadaan menunggu dengan memanggil kaedah wait()
Gunakan kaedah getState of the Thread class () untuk mendapatkan status thread.
Nilai pulangan kaedah ini ialah Tread.State
package com.xiaoxuzhu; /** * Description: * * @author xiaoxuzhu * @version 1.0 * * <pre class="brush:php;toolbar:false"> * 修改记录: * 修改后版本 修改人 修改日期 修改内容 * 2022/5/10.1 xiaoxuzhu 2022/5/10 Create *
Kelas ujian:
package com.xiaoxuzhu; /** * Description: * * @author xiaoxuzhu * @version 1.0 * * <pre class="brush:php;toolbar:false"> * 修改记录: * 修改后版本 修改人 修改日期 修改内容 * 2022/5/10.1 xiaoxuzhu 2022/5/10 Create *
Atas ialah kandungan terperinci Bagaimana untuk menyemak status berjalan benang di Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!