public WeakAction <DateTime> RegisterCallback(WeakAction <DateTime> weakAction) { if (m_disposed) { throw new ObjectDisposedException(GetType().FullName); } m_additionalQueueItems.Enqueue(weakAction); return(weakAction); }
protected ThreadContainerBase(WeakAction <CallbackArgs> callback) { m_runAgain = false; m_runAgainAfterDelay = -1; m_args = new CallbackArgs(); m_args.Clear(); m_callback = callback; m_state = State.NotRunning; }
public ThreadContainerDedicated(WeakAction <CallbackArgs> callback, bool isBackground, ThreadPriority priority) : base(callback) { m_shouldReRunImmediately = false; m_shouldReRunAfterDelay = false; m_threadPausedWaitHandler = new ManualResetEvent(false); m_threadSleepWaitHandler = new ManualResetEvent(false); m_thread = new Thread(ThreadLoop); m_thread.IsBackground = isBackground; m_thread.Priority = priority; m_thread.Start(); }
protected ThreadContainerBase(Action <CallbackArgs> callback, Action disposeAndWaitCallback, bool disposeOnShutdown) { m_disposeOnShutdown = disposeOnShutdown; m_runAgain = false; m_runAgainAfterDelay = -1; m_args = new CallbackArgs(); m_args.Clear(); m_callback = new WeakAction <CallbackArgs>(callback); m_disposeAndWaitCallback = new WeakAction(disposeAndWaitCallback); m_state = State.NotRunning; }
private WeakAction<DateTime> RegisterCallback(int interval, WeakAction<DateTime> weakAction) { if ((object)weakAction == null) throw new ArgumentNullException(nameof(weakAction)); if (interval <= 0) throw new ArgumentOutOfRangeException(nameof(interval)); if (m_disposed) throw new ObjectDisposedException(GetType().FullName); lock (m_syncRoot) { if (m_disposed) throw new ObjectDisposedException(GetType().FullName); SharedTimerInstance instance; if (!m_schedulesByInterval.TryGetValue(interval, out instance)) { instance = new SharedTimerInstance(this, interval); m_schedulesByInterval.Add(interval, instance); } return instance.RegisterCallback(weakAction); } }
public WeakAction<DateTime> RegisterCallback(WeakAction<DateTime> weakAction) { if (m_disposed) throw new ObjectDisposedException(GetType().FullName); m_additionalQueueItems.Enqueue(weakAction); return weakAction; }
public ThreadContainerThreadpool(WeakAction <CallbackArgs> callback) : base(callback) { m_waitObject = new ManualResetEvent(false); }
protected ThreadContainerBase(WeakAction<CallbackArgs> callback) { m_runAgain = false; m_runAgainAfterDelay = -1; m_args = new CallbackArgs(); m_args.Clear(); m_callback = callback; m_state = State.NotRunning; }
public WeakActionAsync(Action <T> method) { m_remoteCallback = new WeakAction <T>(method); m_localCallback = Callback; }
public ThreadContainerThreadpool(WeakAction<CallbackArgs> callback) : base(callback) { m_waitObject = new ManualResetEvent(false); }
protected ThreadContainerBase(Action<CallbackArgs> callback, Action disposeAndWaitCallback, bool disposeOnShutdown) { m_disposeOnShutdown = disposeOnShutdown; m_runAgain = false; m_runAgainAfterDelay = -1; m_args = new CallbackArgs(); m_args.Clear(); m_callback = new WeakAction<CallbackArgs>(callback); m_disposeAndWaitCallback = new WeakAction(disposeAndWaitCallback); m_state = State.NotRunning; }