我问虽然我怀疑有任何这样的系统。
基本上我需要安排任务在未来某个时间点执行(通常不超过几秒钟或几分钟后),并且有某种方式取消该请求,除非为时已晚。
IE。看起来像这样的代码:
var x = Scheduler.Schedule(() => SomethingSomething(), TimeSpan.FromSeconds(5));
...
x.Dispose(); // cancels the request
.NET 中有这样的系统吗?TPL 中有什么可以帮助我的吗?
我需要在这里从系统中的各种实例运行这样的未来动作,并且宁愿避免每个这样的类实例都有自己的线程并处理这个问题。
另请注意,我不想要这个(或类似的,例如通过任务):
new Thread(new ThreadStart(() =>
{
Thread.Sleep(5000);
SomethingSomething();
})).Start();
可能会有一些这样的任务要执行,它们不需要以任何特定的顺序执行,除非接近他们的截止日期,并且它们具有像实时性能概念这样的东西并不重要。我只是想避免为每个此类操作启动一个单独的线程。