Java线程状态、状态转换的条件

xiaoxiao2021-02-28  116

Java线程状态、状态转换的条件、sleep、yield()、wait()等方法的调用,及区别

Java线程的五种状态: 1.新建状态 : new Thread() 2.就绪状态 :start()方法返回后,线程就处于就绪状态 3.运行状态 : 获得了CPU执行时间 4.阻塞状态 :线程处于等待状态 5.死亡状态 :线程死亡 运行状态 --> 阻塞状态: 1.IO等待 2.sleep使当前线程进入阻塞状态,不释放对象锁 3.等待锁资源或其他条件的发生 4.wait导致当前线程等待。线程会释放掉它所占有的对象锁,从而使别的线程有机会抢占该锁 运行状态 --> 就绪状态 1.调用yield()的方法,暂时让出CPU,使当前线程重新回到可执行状态,让同优先级的线程有执行的机会。 2.(线程调度)时间片轮转 运行状态 --> 死亡状态 1.run()方法执行结束,线程正常结束 2.线程异常终止

转载请注明原文地址: https://www.6miu.com/read-73345.html

最新回复(0)