public void Remove(T item)
{
locker.EnterWriteLock();
try
{
list.Remove(item);
}
}
上記はインスタンスクラスのメソッドです。インスタンスがであるとしましょうmyObject
。上記のフラグメントに関して、私の質問はこれです:
スレッド1の呼び出しmyObject.Remove(A)
。
スレッド1が実行されlocker.EnterWriteLock()
ます。
2つの呼び出しをスレッド化しますmyObject.Remove(B)
。
スレッド1はtryブロックに入り、を実行しlist.Remove()
ます。
item
この時点での価値は何ですか?つまりlist.Remove()
、パラメータとしてAまたはBを使用して呼び出されますか?