如上图:
new一个Thread,则线程处于新建状态。调用start(),则处于就绪状态,至于什么时候运行,属于系统调度的事情了,当run()或者call()执行体执行完成后,处于死亡状态。
运行状态的线程,可能遇到以下情况而被阻塞:sleep()方法、IO阻塞、等待同步锁、等待通知、suspend()
调用yield()方法,线程不会阻塞,而是进入就绪状态。该方法只是让线程暂停一下,让系统的线程调度器再重新选择一次。(很有可能再次选择该线程)
比较sleep()和yield()方法