给定这个示例类:
class Example {
String str = "";
public synchronized boolean foo () { str = "foo"; }
public boolean bar() { str = "bar"; }
public synchronized boolean baz() { str = "baz"; }
}
从这篇文章中,很明显任何线程都可以调用该bar方法。假设线程T1正在执行foo()和线程T2调用bar()中。即使获得了锁也可以bar()重新分配吗?即使在执行过程中,如果被调用,同样的问题呢?strfoobazT2T2foo