예제 #1
0
        protected virtual void Dispose(bool disposing)
        {
            if (!_disposed)
            {
                if (disposing)
                {
                    _lock?.Dispose();
                }

                _lock     = null;
                _disposed = true;
            }
        }
예제 #2
0
 public ObjectBuilderRegistry(Kernel kernel)
 {
     _kernel = kernel;
     if (SystemHelper.MultiProcessors)
     {
         _stateLock     = new SpinLockSlim();
         _operationLock = new SpinReaderWriterLockSlim();
     }
     else
     {
         _stateLock     = new MonitorLock();
         _operationLock = new OptimisticReaderWriterLock();
     }
 }