System.Threading.Monitor.TryEnter C# (CSharp) Метод

TryEnter() публичный статический Метод

public static TryEnter ( object obj ) : bool
obj object
Результат bool
		public static bool TryEnter (object obj)
		{
			return TryEnter (obj, 0);
		}

Same methods

Monitor::TryEnter ( object obj, System.TimeSpan timeout ) : bool
Monitor::TryEnter ( object obj, int millisecondsTimeout ) : bool
Monitor::TryEnter ( object obj, System.TimeSpan timeout, bool &lockTaken ) : void
Monitor::TryEnter ( object obj, bool &lockTaken ) : void
Monitor::TryEnter ( object obj, int millisecondsTimeout, bool &lockTaken ) : void

Usage Example

Пример #1
0
        /// <summary>Gets an enumerable of the tasks currently scheduled on this scheduler.</summary>
        /// <returns>An enumerable of the tasks currently scheduled.</returns>
        protected sealed override IEnumerable <Task> GetScheduledTasks()
        {
            bool lockTaken = false;

            try
            {
                Monitor.TryEnter(_tasks, ref lockTaken);
                if (lockTaken)
                {
                    return(_tasks);
                }
                else
                {
                    throw new NotSupportedException();
                }
            }
            finally
            {
                if (lockTaken)
                {
                    Monitor.Exit(_tasks);
                }
            }
        }
All Usage Examples Of System.Threading.Monitor::TryEnter