这里还有一个很常见的问题,顺带提一下:
wait()
与
sleep()
的区别,简单来说
wait()
会释放对象锁而
sleep()
不会释放对象锁。这些问题有很多的资料,不再
赘述。
3
、线程状态:
线程总共有
5
大状态,通过上面第二个知识点的介绍,理解起来就简单了。
新建状态:新建线程对象,并没有调用
start()
方法之前
就绪状态:调用
start()
方法之后线程就进入就绪状态,但是并不是说只
要调用
start()
方法线程就马上变为当前线程,在变为当前线程之前都是为
就绪状态。值得一提的是,线程在睡眠和挂起中恢复的时候也会进入就绪
状态哦。
运行状态:线程被设置为当前线程,开始执行
run()
方法。就是线程进入
运行状态
阻塞状态:线程被暂停,比如说调用
sleep()
方法后线程就进入阻塞状态
死亡状态:线程执行结束
4
、锁类型
评论