LockSupport简介
java并发包中很多类都基于LockSupport实现锁,而Thread.suspend()方法已经被标记为过时了。LockSupport类semaphore实现机制,拥有一个许可(permit),这样LockSupport.park()和LockSupport.unpark()就没有Thread.suspend()和Thread.resume()的顺序问题(Thread.resume()要是发送在Thread.suspend()之前,那么这个线程就恢复不了了),而LockSupport基于许可,unpark将许可数设置为1,只要许可为1那么park就直接返回。
以下情况LockSupport.park都会返回
timeoutPosted in: java基础
Comments are closed.