예제 #1
0
        /// <summary>
        /// Add work to be performed by the threadpool.
        /// Can throw ArgumentNullException and InvalidOperationException.
        /// </summary>
        /// <param name="work">DoWorkHandler which contains the work to perform</param>
        /// <param name="workCompletedHandler">WorkEventHandler to be called on completion</param>
        /// <returns>IWork reference to work object</returns>
        public IWork Add(DoWorkHandler work, WorkEventHandler workCompletedHandler)
        {
            IWork w = new Work(work, workCompletedHandler);

            Add(w);
            return(w);
        }
예제 #2
0
        /// <summary>
        /// Add work to be performed by the threadpool.
        /// Can throw ArgumentNullException and InvalidOperationException.
        /// </summary>
        /// <param name="work">DoWorkHandler which contains the work to perform</param>
        /// <param name="description">description for this work</param>
        /// <param name="queuePriority">QueuePriority for this work</param>
        /// <param name="threadPriority">System.Threading.ThreadPriority for this work</param>
        /// <param name="workCompletedHandler">WorkEventHandler to be called on completion</param>
        /// <returns>IWork reference to work object</returns>
        public IWork Add(DoWorkHandler work, string description, QueuePriority queuePriority, ThreadPriority threadPriority,
                         WorkEventHandler workCompletedHandler)
        {
            IWork w = new Work(work, description, threadPriority, workCompletedHandler);

            Add(w, queuePriority);
            return(w);
        }
예제 #3
0
 public Work(DoWorkHandler work, string description, ThreadPriority threadPriority, WorkEventHandler workCompletedHandler)
 {
     WorkLoad      = work;
     _description  = description;
     _priority     = threadPriority;
     WorkCompleted = workCompletedHandler;
     _eventArgs    = new WorkEventArgs(this);
     _simpleWork   = true;
     _state        = WorkState.INIT;
 }
예제 #4
0
 public Work(DoWorkHandler work, string description, ThreadPriority threadPriority, WorkEventHandler workCompletedHandler)
 {
   WorkLoad = work;
   _description = description;
   _priority = threadPriority;
   WorkCompleted = workCompletedHandler;
   _eventArgs = new WorkEventArgs(this);
   _simpleWork = true;
   _state = WorkState.INIT;
 }
예제 #5
0
 public Work(DoWorkHandler work, ThreadPriority threadPriority, WorkEventHandler workCompletedHandler)
     : this(work, string.Empty, threadPriority, workCompletedHandler)
 {
 }
예제 #6
0
 public Work(DoWorkHandler work, ThreadPriority threadPriority, WorkEventHandler workCompletedHandler)
     : this(work, string.Empty, threadPriority, workCompletedHandler) { }
예제 #7
0
 public IWork Add(DoWorkHandler work, string description, QueuePriority queuePriority, ThreadPriority threadPriority, WorkEventHandler workCompletedHandler)
 {
   IWork w = new Work(work, description, threadPriority, workCompletedHandler);
   return Add(w, queuePriority) ? w : null;
 }
예제 #8
0
 public IWork Add(DoWorkHandler work, WorkEventHandler workCompletedHandler)
 {
   IWork w = new Work(work, workCompletedHandler);
   return Add(w) ? w : null;
 }