Benang Java melalui peringkat kitaran hayat berikut: Penciptaan: Dicipta dengan mewarisi kelas Thread atau melaksanakan antara muka Runnable. Penyediaan: Selepas penciptaan, utas memasuki keadaan penyediaan dan menunggu pelaksanaan penjadualan. Berjalan: Dijadualkan untuk pelaksanaan, kod sedang dilaksanakan. Menyekat: Kod tidak boleh dilaksanakan apabila halangan ditemui. Tunggu: Tunggu secara aktif untuk urutan lain. Tidur: Panggil kaedah sleep() untuk tidur, dan kod tidak boleh dilaksanakan. Pemberitahuan: bangun melalui kaedah notify() atau notifyAll(). Kematian: Selepas pelaksanaan selesai atau ralat berlaku, pelaksanaan tidak lagi boleh dijadualkan.
Menerokai kitaran hayat benang Java
Di Java, benang ialah proses ringan dengan tindanan, keadaan dan konteks pelaksanaannya sendiri. Setiap benang mempunyai kitaran hayat yang unik, termasuk peringkat berikut:
1 Penciptaan
Kitaran hayat benang bermula dengan penciptaan, yang boleh dicapai dengan:
// 通过继承 Thread 类实现 Thread thread1 = new Thread() { public void run() { // 线程执行的代码 } }; // 通过实现 Runnable 接口实现 Runnable task = new Runnable() { public void run() { // 线程执行的代码 } }; Thread thread2 = new Thread(task);
2 , ia akan memasuki keadaan sedia. Pada masa ini, urutan belum lagi dijadualkan untuk pelaksanaan.
3. Run
Selepas benang dijadualkan berjalan, ia akan memasuki keadaan berjalan. Benang dalam keadaan berjalan sedang melaksanakan kod.
4. Menyekat
Jika benang menghadapi halangan, seperti menunggu sumber, ia akan memasuki keadaan menyekat. Pada ketika ini, benang tidak dapat melaksanakan kod.
5 Menunggu
Benang secara aktif boleh menunggu untuk benang lain. Selepas memanggil kaedah wait()
, urutan akan memasuki keadaan menunggu.
6 Tidurwait()
方法后,线程将进入等待状态。
6. 休眠
线程也可以调用 sleep()
方法使其休眠一定时间。在休眠期间,线程无法执行代码。
7. 通知
等待或休眠的线程可以通过调用 notify()
或 notifyAll()
Urutan ini juga boleh memanggil kaedah sleep()
untuk menjadikannya tidur untuk tempoh masa tertentu. Semasa tidur, benang tidak boleh melaksanakan kod.
Urutan menunggu atau tidur boleh dibangkitkan dengan memanggil kaedah notify()
atau notifyAll()
.
Apabila thread selesai pelaksanaan atau ralat berlaku, ia akan memasuki keadaan kematian. Benang dalam keadaan mati tidak lagi boleh dijadualkan untuk pelaksanaan.
Kes praktikal🎜🎜🎜Buat benang dan cetak output: 🎜class MyThread extends Thread { public void run() { System.out.println("Thread is running"); } } public class Main { public static void main(String[] args) { MyThread thread = new MyThread(); thread.start(); // 启动线程 System.out.println("Thread state: " + thread.getState()); // 输出线程状态 } }🎜Output: 🎜
Thread is running Thread state: RUNNABLE🎜Ini menunjukkan bahawa benang berjaya dibuat dan memasuki keadaan berjalan. 🎜
Atas ialah kandungan terperinci Penerokaan ke dalam kitaran hayat benang Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!