java

导航

2020年java高频面试题:第五部分

来源 :中华考试网 2020-10-12

  java线程的状态

  java线程在某个时刻只能处于以下六个状态中的一个。 – New(新创建),一个线程刚刚被创建出来,还没有开始运行的状态,更通俗点说:还没有调用start方法; – Runnable(可运行),可以在Java虚拟机中运行的状态;一个可运行的线程可能正在运行自己的代码也可能没有,这取决于操作系统提供的时间片; – Blocked(被阻塞),当一个线程试图获取一个内部的对象锁(不是java.util.concurrent库中的锁),而该锁此时正被其他线程持有,则该线程进入阻塞状态; – Waiting(等待),当线程等待另一个线程通知调度器一个条件时,它自己进入等待状态。在调用Object.wait方法或Thread.join方法,或者是等待java.util.concurrent库中的Lock或Condition时,就会出现这种情况; – Timed waiting(计时等待),Object.wait、Thread.join、Lock.tryLock和Condition.await等方法有超时参数,还有Thread.sleep方法、LockSupport.parkNanos方法和LockSupport.parkUntil方法,这些方法会导致线程进入计时等待状态,如果超时或者出现通知,都会切换会可运行状态; – Terminated(被终止),因为run方法正常退出而死亡,或者因为没有捕获的异常终止了run方法而死亡。

  填写下面表单即可预约申请免费试听java课程!害怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!

分享到

相关资讯