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 method
fun
还是刚刚退出
synchronized
块?

返回将退出函数。返回调用总是退出函数。除了try finally,其中finally块将在退出函数之前执行

  • 它只从函数fun()返回,任何块都没有任何return语句。对于循环块,可以有break,但不能有return
  • 此外,块没有返回类型,所以如何从那里返回,所以只有您可以从函数返回值,因为它有返回类型

  • return
    synchronized
    块内,将首先释放保持的监视器(在您的示例中为
    this
    ),然后退出该方法。

    请参阅synchronized块的右括号。您将得到答案:pReturn总是退出方法。尝试在同步块中的return语句(不带if)之后放置一些内容,它甚至不会编译,因为无法访问语句。这是一个巨大的代码,即使我放置log,我也无法获取:(还要注意,在这种情况下:是的,return语句将结束方法位,它还将释放在同步块中获取的锁。
    void fun() {
        // some code
        synchronized (this) {
            if(condition) {
                return;
            }
            // some code
        }
        // some code
    }