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
}
}