mik*_*och 6 java reentrantlock
在java JRE中我看到了代码
private final ReentrantLock lock;
public E poll() {
final ReentrantLock lock = this.lock;
lock.lock();
Run Code Online (Sandbox Code Playgroud)
为什么锁定被捕获到私有变量?我希望简单
public E poll() {
lock.lock();
Run Code Online (Sandbox Code Playgroud)
主要是为了确保最大性能。尽管这是真正的微优化,但它可能是在性能敏感的代码中,您不妨这样做。
您还需要非常小心,确保您使用的锁引用不会发生变化。当然要创建该字段final,但采用final本地引用是本地明确的。
| 归档时间: |
|
| 查看次数: |
887 次 |
| 最近记录: |