问题
单项选择题
线程在生命周期中要经历5种状态。如果线程当前是新建状态,则它可到达的下一个状态是
A.运行状态
B.阻塞状态
C.可运行状态
D.终止状态
答案
参考答案:C
解析:线程的生命周期过程为:(1) 线程被创建后,并不马上启动,而是进入新建状态。此时线程没有分配资源,只能使用start()和stop()两个控制方法;(2) 新建状态的线程在调用start()方法后,进入可运行状态。此时线程已经分配了必要的资源,交给了系统调度。一旦线程实际占有了CPU,就进入了运行状态。(3) 运行状态的线程如果调用了yield()方法、sleep()方法、join()方法或wait()方法,或者申请对象锁未果、有更高优先级线程进入调度等,都可进入阻塞状态。阻塞状态的线程在获取到足够的资源后,也可以转入到可运行状态;(4) 当运行状态的线程正常执行完毕后,就进入了终止状态。