sleep和yield方法有什么区别?
1、sleep方法是让线程状态发生转换,由就绪Runnable转换为TimeWaiting。而yield方法会让当前线程从Running运行状态转换为Runnable就绪状态,将CPU执行权利让出去。
2、分别执行sleep方法和yield方法后,TimeWaiting状态就是阻塞状态不会被cpu分配时间执行任务,而Runnable状态还会被CPU分配时间
注:线程执行sleep方法后,进入TimeWaiting状态,执行interrupt可以被打断,并且抛出interruptedException错误。