gpt4 book ai didi

java - 与 “break”同步的语句

转载 作者:行者123 更新时间:2023-12-02 05:47:45 25 4
gpt4 key购买 nike

我在编解码器中使用了同步语句,并且该块中有一个“中断”:

for (int j = 0; j < testPathSize; j++) {

synchronized (lock) {
if (kpis.get(j).getDate() > startTimeInMs) {

if (j > 0) {
if ((kpis.get(j).getDate() - startTimeInMs)
> (startTimeInMs - kpis.get(j - 1).getDate())) initTestPath = j - 1;
else initTestPath = j;
} else initTestPath = j;

break;
}
}
}

我想知道中断执行时,“锁”会被释放吗?

谢谢。

最佳答案

只要执行超出synchronized块的范围,该锁就会被释放。不管是由于正常的程序流程,break,异常还是其超出程序段的任何其他方式。

关于它如何工作的官方规范可以在Java语言规范的14.19 The synchronized Statement段落中找到。

关于java - 与 “break”同步的语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44327173/

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