线程的五种基本状态
线程的五种基本状态:初始化、可运行、运行、阻塞、终止
阻塞状态分为:等待阻塞、同步阻塞、其他阻塞三种方式
等待阻塞:调用某锁对象的wait方法可使当前线程进入等待阻塞状态,并且该线程放弃所有资源(包括cpu资源和锁资源)并且释放锁标记,jvm会把该线程放入等待池中,而且不会自动唤醒该线程,必须由其他线程调用同一锁对象的notify方法或notifyAll方法或者wait时间到则该线程进入锁池状态,并根据jvm的调度重新获取锁资源。获取到锁资源的线程进入就绪状态并等待cpu的调度。
同步阻塞:线程获取synchronized同步锁失败进入阻塞状态
其他阻塞:sleep()方法或join()方法,该类型阻塞会自动唤醒,sleep()超时,join()等待子线程完成后线程会自动唤醒而处于就绪状态,该状态不会释放锁资源,但会释放CPU()资源,会暂时放弃对CPU的占有。

fixed
没有一个冬天不可逾越,没有一个春天不会来临。最慢的步伐不是跬步,而是徘徊,最快的脚步不是冲刺,而是坚持。