多线程、多任务管理 简单demo
2015-07-29 10:41
274 查看
需求:假设多个任务需要执行,每个任务不是一时半会能完成(需要能看到中间执行状况);
多个任务 根据条件不同 可能需要不同的处理
分析: 多线程并发执行多任务;
对任务进行管理,追踪中间执行状态;
运用策略模式抽象执行类;
实现:
TaskDelegate
demo 下载:demo
多个任务 根据条件不同 可能需要不同的处理
分析: 多线程并发执行多任务;
对任务进行管理,追踪中间执行状态;
运用策略模式抽象执行类;
实现:
/// </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
相关文章推荐
- Create pdf
- CentOS 6.5_x64安装Oracle 11g R2 亲测
- 简单实用的 Ubuntu 快捷键
- 在开发过程中调试报表插件详细教程
- printf中浮点数格式化输出
- 分布式文件系统试用比较
- 如何成为受市场欢迎的Android开发
- kettle各组件说明
- ORACLE索引详解
- 在开发过程中调试报表插件详细教程
- 怎么使用powershell解压一个压缩文件
- 浅谈Javascript数组索引
- hdu 5325 Crazy Bobo 多校1010
- Erlang行为模式实现模块的首部
- date的判定和加减
- java端拦截器判断客户的的请求是否是ajax请求
- Two Sum
- 2015.07.28 (3)
- hdu 5319 Painter 2015 Multi-University Training Contest 3
- jquery常用选择器