new Thread().start()时,进入runnable状态
当cpu调用时,则进入running状态
当正常结束时,进入dead状态
当在run方法中遇到某个对象p.wait()时,线程进入p对象的wait Pool
当另外一个线程的run方法中调用p.notify()时,当前线程被唤醒,并进入lock pool,等待获取对象的锁定
网上还有另外一种画法,显得比较简单,将所有阻塞的东西都放到blocked状态中,其实这样画不利于彻底理解线程变化的细节。
new Thread().start()时,进入runnable状态
当cpu调用时,则进入running状态
当正常结束时,进入dead状态
当在run方法中遇到某个对象p.wait()时,线程进入p对象的wait Pool
当另外一个线程的run方法中调用p.notify()时,当前线程被唤醒,并进入lock pool,等待获取对象的锁定
网上还有另外一种画法,显得比较简单,将所有阻塞的东西都放到blocked状态中,其实这样画不利于彻底理解线程变化的细节。