using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; namespace ProjectBase.Data.Threading { /// /// WorkItem的储存指定的WaitCallback和用户状态对象,如当前的ExecutionContext对象一样。 /// public sealed class WorkItem { private WaitCallback _Callback; private object _State; private ExecutionContext _Context; /// /// 构造函数 /// internal WorkItem(WaitCallback callback, object state, ExecutionContext context) { _Callback = callback; _State = state; _Context = context; } #region 属性 /// /// 线程池线程要执行的一个回调方法 /// public WaitCallback Callback { get { return _Callback; } } /// /// 调方法要使用的一个对象,其中包含的信息 /// public object State { get { return _State; } } /// /// 当前线程的执行上下文对象 /// public ExecutionContext Context { get { return _Context; } } #endregion } /// /// WorkItem的对象执行状态 /// public enum WorkItemStatus { /// /// 项目执行完毕 /// Completed, /// /// 项目是目前在执行队列 /// Queued, /// /// 该项目目前正在执行 /// Executing, /// /// 项目被中止 /// Aborted } }