protected override void SaveLockData(LockManager.LockData aLockData) { try { //Writerロックを取得する _rwLock.AcquireWriterLock(_timeout); _lockDataSet.AddLast(aLockData); } finally { //Writerロックを開放する _rwLock.ReleaseWriterLock(); } }
protected override void SaveLockData(LockManager.LockData aLockData) { try { //Writerロックを取得する _memLockData.AcquireWriterLock(_timeout); _memLockData.Add(aLockData); } finally { //Writerロックを開放する _memLockData.ReleaseWriterLock(); } }
protected override void SaveLockData(LockManager.LockData aLockData) { //LockDataへのアクセスによるLockDataのアクセスを排除する //(LockDataに対するアクセスの場合、APトランザクションIDは-1である(暫定設計)) if (aLockData.ApTranId == -1) { return; } //aLockData.PredicateStrがテーブル項目より大きいサイズであれば、途中でカットする if (aLockData.PredicateStr.Length > _maxLength) { aLockData.PredicateStr = aLockData.Predicate.ToString(_maxLength); } using (Tran aTran = _aDb.CreateTranWithoutLock()) { aTran.Save <LockData>(aLockData); } }