wait:
1、属于Object的本地方法。
2、暂停当前线程,并释放锁。
3、调用notify()或notifyAll()方法唤醒线程。
sleep:
1、Thread类的静态方法。
2、当前线程休眠,但不释放锁。
3、其他线程可以继续执行,无论该线程优先级高与否。
4、休眠一段时间后,自动执行。
yield:
1、Thread类的静态方法。
2、暗示具有相同优先级的其他线程可以使用CPU,运行。
3、没有任何机制保证当前线程会暂停运行并让出CPU。
本文详细介绍了Java中用于线程控制的三种关键方法:wait、sleep与yield。这些方法分别来自Object类和Thread类,它们各自具有独特的用途和行为特征。比如wait方法会释放对象锁,而sleep则不会释放锁;yield方法则尝试将CPU使用权让给相同优先级的其他线程。
wait:
1、属于Object的本地方法。
2、暂停当前线程,并释放锁。
3、调用notify()或notifyAll()方法唤醒线程。
sleep:
1、Thread类的静态方法。
2、当前线程休眠,但不释放锁。
3、其他线程可以继续执行,无论该线程优先级高与否。
4、休眠一段时间后,自动执行。
yield:
1、Thread类的静态方法。
2、暗示具有相同优先级的其他线程可以使用CPU,运行。
3、没有任何机制保证当前线程会暂停运行并让出CPU。
3330

被折叠的 条评论
为什么被折叠?