Thread.sleep()和LockSupport.park()的区别

从功能上来说,Thread.sleep()和LockSupport.park()方法类似,都是阻塞当前线程的执行,且都不会释放当前线程占有的锁资源

Thread.sleep()没法从外部唤醒,只能自己醒过来;

LockSupport.park()方法可以被另一个线程调用LockSupport.unpark()方法唤醒;

Thread.sleep()方法声明上抛出了InterruptedException中断异常,所以调用者需要捕获这个异常或者再抛出;

LockSupport.park()方法不需要捕获中断异常;

Thread.sleep()本身就是一个native方法;

LockSupport.park()底层是调用的Unsafe的native方法;

LockSupport

相关文章: