Inheritance: System.WeakReference
Beispiel #1
0
            public WeakAction <DateTime> RegisterCallback(WeakAction <DateTime> weakAction)
            {
                if (m_disposed)
                {
                    throw new ObjectDisposedException(GetType().FullName);
                }

                m_additionalQueueItems.Enqueue(weakAction);

                return(weakAction);
            }
Beispiel #2
0
        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();
 }
Beispiel #4
0
        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);
 }
Beispiel #8
0
        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;
 }
Beispiel #10
0
 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;
        }