博为峰IT培训学校是中国专业的IT培训机构之一,博为峰51Code在率先推出IT就业培训业务,即通过数月的强化培训,使缺乏职场竞争力的学员具备企业级项目执行能力,先后在10余个城市推出软件测试,软件开发线下培训,并推出在线职业教育平台博为峰网校Atstudy,面向/国际提供软件测试,软件开发等或进阶类,考证类等课程。
Java线程具有一定的生命周期,其主要包括有七个状态:出生状态、就绪状态、运行状态、等待状态、休眠状态、阻塞状态和死亡状态。如果想具体了解java线程生命周期的状态,那不妨接着往下看吧!
线程有一个生命周期,包含七个状态,即出生、就绪、运行、等待、休眠、阻塞和死亡。
出生状态是指用户在创建线程时所处于的状态,在用户使用该线程实例调用start()方法之前线程都处于出生状态。在用户调用start()方法后,线程处于就绪状态(也被称为 "可执行状态")。当线程收到系统资源后,它就进入了运行状态。
一旦线程进入可执行状态,它就会在就绪状态和运行状态之间跳动,也可能进入等待、睡眠、阻塞或死亡状态。
当一个处于运行状态的线程调用Thread类中的wait()方法时,该线程就处于等待状态。
处于等待状态的线程必须调用Thread类中的notify()方法才能被唤醒,而notifyAll()方法是为了唤醒所有处于等待状态的线程。
当一个线程调用Thread类中的sleep()方法时,它就进入了休眠状态。如果一个线程在运行时发出了一个输入/输出请求,该线程将进入阻塞状态,在等待输入/输出完成时,该线程将进入准备状态。
对于一个阻塞的线程来说,即使系统资源是空闲的,该线程也不能返回到运行状态。当线程的run()方法执行完毕后,线程就会进入死亡状态。
微信扫码关注公众号
获取更多考试热门资料