看看下面的代碼:線程安全類和方法參數
public void SomeMethodWithParameters(MutableObject mutableParameter, String stringParameter, double structParameter)
{
// some code
}
這是我的理解,這個代碼是不是線程安全的,由於這樣的事實,mutableParameter是這種方法的多變之外。
你在代碼中使用什麼策略(除了只使用不可變的類或結構作爲參數)以防止這種可能性?是否所有傳遞的對象都是這個方法實際上是深層克隆?
在C#中,我認爲「參考參數」的通常含義是'ref'參數。也許「參考類型的參數」會更清楚? – recursive 2011-04-27 21:20:31
這只是一個問題*如果* mutableParameter *可以*在方法調用期間更改。如果沒有其他線程具有對mutableParameter的引用,那麼在方法外部更改它並不重要,因爲它不會更改... – forsvarir 2011-04-27 21:21:36
爲了論證的緣故,它*在方法調用之外是可修改的。 – miguel 2011-04-27 21:27:57