gpt4 book ai didi

java - 为什么有人会在方法中制作本地最终锁定?

转载 作者:行者123 更新时间:2023-11-29 04:55:00 25 4
gpt4 key购买 nike

<分区>

我一直在阅读有关 Executors 服务的 Java 源代码。在检查 ThreadPoolExecutor 类时,我发现了这段关闭代码:

public void shutdown() {
final ReentrantLock mainLock = this.mainLock;
mainLock.lock();
try {
checkShutdownAccess();
advanceRunState(SHUTDOWN);
interruptIdleWorkers();
onShutdown(); // hook for ScheduledThreadPoolExecutor
} finally {
mainLock.unlock();
}
tryTerminate();
}

而且我不明白这个锁对方法来说是本地的有什么意义。 如果我的理解是正确的,那么每次调用这个函数都会创建新锁,这有点让这个锁变得多余(因为在线程调用中总是传递锁定)并且它在方法范围之外的任何地方都不可见。

这种编码模式在整个类(class)中重复,声明局部最终锁,锁定然后解锁。

编辑:

  • 修复代码误读废话

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com