1、一句话概括
在java中,线程阻塞状态是线程本身不可计划的,而线程等待状态是线程本身计划之内的。
2、相同点与不同点
相同点:
(1)都会暂停线程的执行。
区别点:
(1)线程进入阻塞状态是被动的, 而线程进入等待状态是主动的。
阻塞状态的被动:线程在同步代码外,获取对象锁失败时,线程进入阻塞状态;何时获取对象锁失败不可知,即线程阻塞状态是线程本身不可计划的。
等待状态的主动:线程在同步代码内,等待其他线程操作时,线程接入等待状态;何时等待其他线程操作可知,即线程等待状态是线程本身计划之内的。