コード例 #1
0
ファイル: Lock.cs プロジェクト: blinds52/SterlingDB
        public static AsyncLock GetLock( string path )
        {
            var hash = path.GetHashCode();

            lock ( _pathLocks )
            {
                AsyncLock aLock = null;

                if ( _pathLocks.TryGetValue( hash, out aLock ) == false )
                {
                    aLock = _pathLocks[ hash ] = new AsyncLock();
                }

                return aLock;
            }
        }
コード例 #2
0
ファイル: PathLock.cs プロジェクト: blinds52/SterlingDB
        public static AsyncLock GetLock(string path)
        {
            var hash = path.GetHashCode();

            lock (((ICollection)_pathLocks).SyncRoot)
            {
                AsyncLock alock = null;

                if (_pathLocks.TryGetValue( hash, out alock ) == false )
                {
                    alock = _pathLocks[ hash ] = new AsyncLock();
                }

                return alock;
            }
        }
コード例 #3
0
ファイル: AsyncLock.cs プロジェクト: blinds52/SterlingDB
 internal Releaser( AsyncLock toRelease ) { _toRelease = toRelease; }