.NET 4有一个类 - Task。 这很有趣,我想开始使用它。例如,我想创建一个非常简单的基于任务的文件下载器,可以在每次下载时取消。 任何人都可以向我介绍一些这样做的示例代码吗?我想有一个正在运行的任务列表,并希望能够取消它们中的任何一个。
P.S。 代码示例可能无法正常运行我只想知道如何以最佳方式使用这些内容。
答案 0 :(得分:12)
如果您希望能够取消一项或多项任务,则需要创建CancellationTokenSource
并将CancellationToken
传递给每个Task
。如果必须使用相同的操作取消所有Task
,则它们可以共享相同的令牌。如果每个任务可以独立于另一个任务取消,则需要单独CancellationToken
个。请查看this guide以获取有关如何取消并行任务的示例。
答案 1 :(得分:6)
在各种PFX(并行框架扩展)上给出了各种简单且更先进的样本 - 其中Task
是部分团队博客:http://blogs.msdn.com/b/pfxteam/
答案 2 :(得分:0)
还有Task Parallel Library section of MSDN有几个howtos和例子。