0
我試圖找到一個乾淨的方式來寫出一個方法,可能或不可能包裹在基於布爾值的synchornized
鎖。然而,我能找到這樣做的唯一方法是非常難看的。是否可以「同步if」語句?
boolean lock = true;
void remove(Object o) {
if(lock) {
synchornized(this) {
// remove o
}
} else {
// remove o
}
}
但是,我想知道是否有更好的方法來做到這一點,也許是「同步如果」類型的語句?
您可以同步該方法。不,這樣做並不難看。 – Maroun
@MarounMaroun(public synchronized void remove)不僅會在「鎖定」爲真的情況下同步,然而,這是問題的關鍵。 – Hobbyist
然後你的方法很好。 – Maroun