下面的代碼會發生什麼?同步是否工作?這是一個面試問題。如果同步變量在java中被重新分配會發生什麼?
class T
{
public static void main(String args[])
{
Object myObject = new Object();
synchronized (myObject)
{
myObject = new Object();
} // end sync
}
}
您的同步塊位於主體內而不在循環內,它將只能運行一次。在這裏同步沒有意義(除非你從另外一個主叫來,這將是奇怪的主)。 – assylias