1.Task
1.Task和Thread一样,位于System.Threading命名空间下
Thread位于System.Threading
Task位于System.Threading.Tasks
2.Task是升级版的ThreadPool
3.ThreadPool不支持线程控制,线程延续 ,线程取消 而Task支持
创建Task
第一种创建方式,直接实例化:必须手动去Start 可以绑定有参数的委托对象
Task task = new Task(() =>
{
Console.WriteLine("1");
});
task.Start();
//第二种创建方式,工厂创建,直接执行 且绑定的都是无参无返回值的委托对象
var task2 = Task.Factory.StartNew(() =>
{
Console.WriteLine("2");
});
//方式3
Task.Run(() =>
{
Console.WriteLine("3");
});
Task的任务控制:Task比threadPool优点就是任务控制,
基于 很好的控制task的执行顺序,让多个task有序的执行。
Task.Wait task1.Wait();就是等待任务