join/wait/sleep的区别
2018-04-15 本文已影响0人
henry随笔
join方法内部是通过wait进行阻塞的,所以join和wait都会释放锁。而sleep不释放锁,sleep的锁是当前线程对象。
释放锁和不释放锁的区别:释放锁后,该对象同步方法可被其他对象异步调用,而不释放锁则该对象其他同步方法被调用时会进入等待获得锁。
wait和join唤醒后,需要重新获得锁。
join方法内部是通过wait进行阻塞的,所以join和wait都会释放锁。而sleep不释放锁,sleep的锁是当前线程对象。
释放锁和不释放锁的区别:释放锁后,该对象同步方法可被其他对象异步调用,而不释放锁则该对象其他同步方法被调用时会进入等待获得锁。
wait和join唤醒后,需要重新获得锁。