예제 #1
0
        /// <summary>
        ///
        /// </summary>
        protected virtual void UpdatePendingExecution()
        {
            ExecutionEntity entity;

            while (_pendingEntities != null &&
                   (entity = PopNextExecutionEntity()) != null)
            {
                TracerHelper.TraceEntry(" pending [" + _pendingEntities.Count + "] started executioners ["
                                        + _threadPool.ActiveRunningThreadsCount.ToString() + "]");

                ThreadPoolFastEx pool = _threadPool;
                if (pool != null)
                {
                    pool.Queue(new GeneralHelper.GenericDelegate <ExecutionEntity>(worker_DoWork), entity);
                }
            }
        }
예제 #2
0
 /// <summary>
 /// Redefine needed so that we can construct and pass anonymous delegates with parater.
 /// No need to specify the Value parameter(s), since they can be recognized automatically by compiler.
 /// </summary>
 public static void FireAndForget <Value>(GeneralHelper.GenericDelegate <Value> d, params object[] args)
 {
     _threadPoolEx.Queue(d, args);
 }