ロックを取得できなかった場合に待機せず、即タイムアウトにしたい場合の方法
try { Monitor.TryEnter(lockObject, 0, ref acquiredLock); if (acquiredLock) { // ロック取得に成功したときの処理 } else { // ロック取得に失敗したときの処理 } } finally { if (acquiredLock) Monitor.Exit(lockObject); }
ロックを取得できなかった場合に待機せず、即タイムアウトにしたい場合の方法
try { Monitor.TryEnter(lockObject, 0, ref acquiredLock); if (acquiredLock) { // ロック取得に成功したときの処理 } else { // ロック取得に失敗したときの処理 } } finally { if (acquiredLock) Monitor.Exit(lockObject); }