當兩個線程同時調用相同的靜態方法時會發生什麼?例如:當兩個線程同時調用相同的靜態方法時會發生什麼?
public static String someMethod(){
//some logic, can take about 1 second to process
return new String(result);
}
第一個線程現在調用someMethod()。 第二個線程從現在起0.5秒內調用someMethod()(第一個線程仍在處理數據)。
我知道someMethod()可以同步。但是如果不同步會發生什麼?
那麼,這兩個線程將同時運行......如果該方法是線程安全的開始,沒有什麼可怕的。 – fge
如果'static'方法不修改這些線程使用的公共對象的狀態,那麼就沒有錯。 –
[java靜態同步方法]的可能重複(http://stackoverflow.com/questions/12492553/java-static-synchronized-method) – 2014-02-18 20:41:02