Example #1
0
        internal void Quit()
        {
            AutoResetSignal signal = new AutoResetSignal();

            this.scheduledTasks.Enqueue(new Tuple <Func <bool>, NullSignal>(() => false, signal));

            if (this.thread.IsAlive)
            {
                signal.Wait();
            }
        }
Example #2
0
        internal void ScheduleAndWait(Action task)
        {
            AutoResetSignal signal = new AutoResetSignal();

            this.scheduledTasks.Enqueue(new Tuple <Func <bool>, NullSignal>(() =>
            {
                task.Invoke();
                return(true);
            }, signal));

            if (this.thread.IsAlive)
            {
                signal.Wait();
            }
        }