Les threads Java passent par les étapes de cycle de vie suivantes : Création : Créés en héritant de la classe Thread ou en implémentant l'interface Runnable. Préparation : après la création, le thread entre dans l'état de préparation et attend l'exécution de la planification. En cours d'exécution : planifié pour l'exécution, le code est en cours d'exécution. Blocage : le code ne peut pas être exécuté lorsqu'un obstacle est rencontré. Attendre : attendre activement les autres threads. Sleep : appelez la méthode sleep() pour dormir et le code ne peut pas être exécuté. Notification : réveillez-vous via la méthode notify() ou notifyAll(). Décès : une fois l'exécution terminée ou une erreur survenue, l'exécution ne peut plus être planifiée.
Exploration du cycle de vie des threads Java
En Java, un thread est un processus léger avec sa propre pile, son état et son contexte d'exécution. Chaque fil a un cycle de vie unique, comprenant les étapes suivantes :
1. Création
Le cycle de vie du fil commence par la création, qui peut être réalisée par :
// 通过继承 Thread 类实现 Thread thread1 = new Thread() { public void run() { // 线程执行的代码 } }; // 通过实现 Runnable 接口实现 Runnable task = new Runnable() { public void run() { // 线程执行的代码 } }; Thread thread2 = new Thread(task);
2. , il entrera dans l'état prêt. À l’heure actuelle, l’exécution du thread n’a pas encore été planifiée.
3. Exécuter
Une fois l'exécution planifiée du thread, il entrera dans l'état d'exécution. Un thread en cours d’exécution exécute du code.
4. Blocage
Si un fil rencontre un obstacle, comme l'attente d'une ressource, il entrera dans un état de blocage. À ce stade, le thread ne peut pas exécuter de code.
5. En attente
Les fils de discussion peuvent attendre activement d'autres fils de discussion. Après avoir appelé la méthode wait()
, le thread entrera dans l'état d'attente.
6. Sleepwait()
方法后,线程将进入等待状态。
6. 休眠
线程也可以调用 sleep()
方法使其休眠一定时间。在休眠期间,线程无法执行代码。
7. 通知
等待或休眠的线程可以通过调用 notify()
或 notifyAll()
Le fil peut également appeler la méthode sleep()
pour le faire dormir pendant un certain temps. Pendant le sommeil, les threads ne peuvent pas exécuter de code.
Les threads en attente ou en veille peuvent être réveillés en appelant la méthode notify()
ou notifyAll()
.
Lorsqu'un thread termine son exécution ou qu'une erreur se produit, il entrera dans l'état de mort. Un thread dans un état mort ne peut plus être planifié pour son exécution.
Cas pratique🎜🎜🎜Créez un fil de discussion et imprimez le résultat : 🎜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()); // 输出线程状态 } }
Thread is running Thread state: RUNNABLE
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!