java基础-线程有哪些状态

java基础-线程有哪些状态

线程有哪些状态?

答:Java中的线程状态由Thread类的内部枚举类State表示,总共有6种状态。NEW、RUNNABLE、BLOCKED、WAITING、TIMED_WAITING、TERMINATED

详细说明:

NEW(新建):通过new关键字创建一个Thread对象后,线程的初始状态是NEW。

RUNNABLE(可运行):当调用线程的start()方法后,线程的状态会变为RUNNABLE。RUNNABLE状态表示线程是可运行的,但是否正在运行取决于操作系统的调度。特别说明:当线程调用阻塞的方法如I/O操作,线程状态仍然是RUNNABLE。

BLOCKED(阻塞):BLOCKED状态只和内置锁有关。每个对象在内存中都有一个内置锁,它是java对象的内存结构的Mark Word部分。

WAITING(等待):通过object.wait()、lock.lock()、otherThread.join() 等方法时,当前线程会主动变为WAITING状态。处于这种状态的线程不会被分配CPU执行时间。

TIMED_WAITING(定时等待):通过Thread.sleep(1000)、object.wait(1000)、otherThread.join(1000)等方法可以使线程进入TIMED_WAITING状态。处于这种状态的线程不会被分配CPU执行时间。

TERMINATED(终止):线程执行完任务或由于异常而结束执行后,线程进入TERMINATED状态。

相关手记

365bet线上网址 我的世界虚弱药水怎么做虚弱药配方
365bet线上网址 《魔兽世界》8.3奥丹姆锦绣谷稀有刷新地点介绍
365体育投注网站 刚知道,原来车牌号查车辆信息也是可以的!!!
365bet投注网 酷狗音乐桌面歌词锁屏怎么解开
365bet线上网址 顺风车司机需要什么条件
365bet投注网 String为什么是不可变的深度解析底层原理(面试官超爱问)