wait()方法和sleep()方法的对比

wait()方法和sleep()方法的对比

其实理论上 wait 和 sleep 完全是没有可比性的,因为一个是用于线程之间的通信的,一个是让线程阻塞一段时间,唯一的相同点就是都可以让线程放弃执行一段时间。用生活中的例子说的话就是婚礼时会吃糖,和家里自己吃糖之间有差别。说白了放弃线程执行只是 wait 的一小段现象。

1.总结

1.wait之前需要请求锁而且wait执行是会先释放锁,等唤醒时在重新请求锁。这个锁是wait对象上的monitor lock;
2.sleep是无视锁的存在,即之前请求的锁不会释放,没有锁也不会请求;
3.wait是Object的方法
4.sleep是Thread的静态方法

猜你喜欢

转载自blog.csdn.net/qq_45665172/article/details/113818400