return语句在android中是同步的吗?
这个return语句在android中是同步的吗?,android,synchronization,synchronized,Android,Synchronization,Synchronized,这个返回调用return from methodfun还是刚刚退出synchronized块?返回将退出函数。返回调用总是退出函数。除了try finally,其中finally块将在退出函数之前执行 它只从函数fun()返回,任何块都没有任何return语句。对于循环块,可以有break,但不能有return 此外,块没有返回类型,所以如何从那里返回,所以只有您可以从函数返回值,因为它有返回类型 return在synchronized块内,将首先释放保持的监视器(在您的示例中为this),然后
返回
调用return from methodfun
还是刚刚退出synchronized
块?返回将退出函数。返回调用总是退出函数。除了try finally,其中finally块将在退出函数之前执行
return
在synchronized
块内,将首先释放保持的监视器(在您的示例中为this
),然后退出该方法。请参阅synchronized块的右括号。您将得到答案:pReturn总是退出方法。尝试在同步块中的return语句(不带if)之后放置一些内容,它甚至不会编译,因为无法访问语句。这是一个巨大的代码,即使我放置log,我也无法获取:(还要注意,在这种情况下:是的,return语句将结束方法位,它还将释放在同步块中获取的锁。
void fun() {
// some code
synchronized (this) {
if(condition) {
return;
}
// some code
}
// some code
}