SCJP題庫第228題

 
Which three will compile and run without exception? (Choose three.)
A. private synchronized Object o;
B. void go(){
synchronized(){/* code here */}
C. public synchronized void go(){/* code here */}
D. private synchronized(this) void go(){/* code here */}
E. void go(){
synchronized(Object.class){/* code here */}
F. void go(){
Object o = new Object();
synchronized(o){/* code here */}

Ans: CEF

解說:此題問那三個將會編繹與無例外的執行?同步關鍵字synchronized可以對整個方法做同步,如C,也可以對一個區塊的程式做同步,如E/F (要指定要取得的那個物件的lock)


註:E應該是錯的,在Object類別中並沒有class這個變數,有可能這題在流傳時,出了一些問題,但,回答時還是以給的答案回。

Comments

Popular posts from this blog

Android-使用webview在V3版的Google地圖GPS定位