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