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
都会返回
timeout
Posted in: java基础
Comments are closed.