您的位置:首页 > 其它

多线程、多任务管理 简单demo

2015-07-29 10:41 274 查看
需求:假设多个任务需要执行,每个任务不是一时半会能完成(需要能看到中间执行状况);

多个任务 根据条件不同 可能需要不同的处理

分析: 多线程并发执行多任务;

对任务进行管理,追踪中间执行状态;

运用策略模式抽象执行类;

实现:

/// </summary>
/// <param name="para">泛型参数</param>
public delegate void TaskDelegate<T>(T para);

/// <summary>
///
/// </summary>
public class ParaStatus
{
public ParaStatus(Guid task) { TaskId = task; }
public Guid TaskId { get; set; }
public TaskStatus Status { get; set; }
}

public class ParaInfo
{
public ParaInfo(Guid task) { TaskId = task; }
public Guid TaskId { get; set; }
public string Info { get; set; }
}

public class ParaProcess
{
public ParaProcess(Guid task) { TaskId = task; }
public Guid TaskId { get; set; }
public double Rate { get; set; }
}


TaskDelegate
demo 下载:demo
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: