C#中多个任务调度的良好设计建议

时间:2014-03-17 01:45:57

标签: scheduler

我有一项服务,要求在调用特定事件10分钟后对实体状态执行操作。在10分钟的等待期间,它必须监听将完全停止此事件的其他事件,以便不执行该操作。 在任何时间点,都可能有多个实体实例要处理。

是否有任何关于创建此服务的可能实施方式的建议?

1 个答案:

答案 0 :(得分:0)

我在我的一个处理用户状态管理的项目中有类似的东西。粗略的想法是这样的:

1你有一个你需要的刻度精度计时器(我使用15     第二)

2某些输入事件会触发对实体的监控,并在添加时间时将实体置于执行队列中

3如果发生任何取消事件>从执行队列中删除相应的实体

4 On timer ticks检查executionQueue中每个iteam的添加时间,并为那里的实体执行操作10分钟

PS。 您可能需要考虑使用多线程/ TPL来执行操作。