I have a synchronised method A() that is taking lock on class, and calling two other unsynchronised methods B() and C() in its body. My question is while control is moving from A() to B() will it release the lock on class and will it be reacquired when control come back after execution of B finishes.
synchronised A(){
//will lock be released here?
b();
//will lock be reacquired here?
c();
}
B(){
will lock be available here?
//do somthing
}
C(){
//do something
}
Please help. Thanks in advance.