我问,尽管我怀疑是否有这样的系统。
基本上,我需要安排任务在将来的某个时候执行(通常不超过几秒,也可能是几分钟后),并且有一些方法可以取消该请求,除非太迟。
即。如下所示的代码:
var x = Scheduler.Schedule(() => SomethingSomething(), TimeSpan.FromSeconds(5));
...
x.Dispose(); // cancels the request在.NET中有这样的系统吗?在TPL中有什么可以帮助我的吗?
我需要在这里的系统中从不同的实例中运行这样的未来操作,并且宁愿避免每个这样的类实例都有自己的线程并处理这个问题。
还要注意的是,我不希望这样(或类似的,例如通过任务):
new Thread(new ThreadStart(() =>
{
Thread.Sleep(5000);
SomethingSomething();
})).Start();可能会有一些这样的任务需要执行,它们不需要以任何特定的顺序执行,除非接近它们的截止日期,而且它们是否具有实时性能概念也不是至关重要的。我只想避免为每个这样的操作创建单独的线程。
发布于 2010-06-02 21:36:40
由于您不想要外部引用,因此可能需要了解一下System.Threading.Timer或System.Timers.Timer。请注意,这些类在技术上与WinForms Timer组件有很大不同。
发布于 2010-06-02 21:27:55
使用quartz.net (开源)。
发布于 2010-06-06 05:36:20
你可以按你要求的那样做吗? Well.....Actually you do you questing.....
IDisposable kill = null;
kill = Scheduler.TaskPool.Schedule(() => DoSomething(), dueTime);
kill.Dispose();使用微软伙伴的Rx Reactive Framework :)
Rx是非常神奇的。我几乎已经用它替换了事件。这只是普通的美味。
嗨,我是拉斯蒂,我是Rx addict...and,我喜欢。
https://stackoverflow.com/questions/2958088
复制相似问题