多线程教程:Task
一、基本概念 1、Task优势 ThreadPool相比Thread来说具备了很多优势,但是ThreadPool却又存在一些使用上的不方便,例如: ThreadPool不支持线程的取消、完成、失败通知等交互性操作; ThreadPool不支持线程执行的先后次序; .NET Framework 在4.0的时候提供了一个功能更强大的概念:Task。Task在ThreadPool的基础上进行了优化,并提供了更多的API。看下面一个简单的示例: using System; using System.Threading; using System.Threading.Tasks; namespace TaskDemo { class Program { static void Main(string[] args) { // 创建Task Task t = new Task(() => { Console.WriteLine("任务开始工作....."); Thread.Sleep(5000); }); // 启动 t.Start(); t.ContinueWith((task) => { Console.WriteLine("任务完成,完成时候的状态为:"); Console.WriteLine("IsCanceled={0}\tIsCompleted={1}\tIsFaulted={2}