using(myDisposable)
{
}
try
{
//do something with myDisposable
}
finally
{
IDisposable disposable = myDisposable as IDisposable;
if(disposable != null)
{
disposable.Dispose();
}
}
と
lock(_locker)
{
}
のと同等であるが
Monitor.Enter(_locker);
try
{
}
finally
{
Monitor.Exit(_locker);
}
のと同じです3210
readonly
フィールドに相当するものは何ですか?
readonly object _data = new object();
ジャレッドをブロックでこれに少し近い見えるので
using
バージョンが微妙に間違っています4.0 CLRのTryEnterパターンへの切り替えに関するリンク(または個人的に展開できますか?) –@アダム、私は間違った方法を持っていた。これは実際に 'Enter(object、ref bool)'であり、 'TryEnter'ではありません。エリックはこれに関する全面的なブログ投稿とそれが行われた理由をhttp://blogs.msdn.com/b/ericlippert/archive/2009/03/06/locks-and-exceptions-do-not-mix.aspx – JaredPar
+知識に感謝します。私はC#4.0でこれと同等のことを知りませんでした。 – garik