thread.sleep会释放锁吗_面试 LockSupport.park()会释放锁资源吗?
时间: 2024-05-30 21:10:09 浏览: 191
JVM线程状态和Thread.sleep的实现原理探究.pdf
`Thread.sleep()` 方法不会释放锁,它只是使当前线程暂停执行一段时间。如果线程持有某个锁,则该锁仍然保持被该线程持有的状态。
而 `LockSupport.park()` 方法也不会释放锁资源,它只是阻塞当前线程,直到接收到某个信号(如中断信号)或者超时。当线程因为调用 `LockSupport.park()` 方法而被阻塞时,如果其他线程试图获取该线程持有的锁,那么这些线程也会被阻塞,直到该线程被唤醒。
因此,无论是 `Thread.sleep()` 还是 `LockSupport.park()` 方法,都不会释放锁资源。如果需要释放锁资源,可以使用 `synchronized` 块或者 `ReentrantLock` 类来控制锁的释放。
阅读全文