java中yeild()方发,wait()方法和sleep()有什么区别

同样都是暂停
2025-01-01 01:17:20
推荐回答(3个)
回答1:

yeild():线程暂时交出CPU的控制权,也就是从running状态进入到runnable状态,但仍然有可能被再次调度
wait():在其他线程调用此对象的 notify() 方法或 notifyAll() 方法时线程才会继续执行
sleep():线程指定睡眠一段时间

回答2:

yeild():线程暂时交出CPU的控制权给其他进程然后交互运行
wait():使一个线程处于等待状态,并且释放所有持有对象的LOCK
sleep()使一个正在运行的线程处于睡眠状态,是以个静态方法,调用此方法要捕获InterrrupedException异常。

回答3:

yield是让出CPU给其他线程执行一下,然后继续交替执行
wait就是当前线程进入wait pool 等待notify或notify all唤醒
sleep是指定线程暂时睡眠一段时间