Task的功能喝Thread类似,写法也很简单;
两种方式:
第一
Task t1=new Task(()=>{});
t1.Start();//启动Task
t1.Wait();//若调用Wait函数,则会等待t1运行结束才能往下执行,若不调用wait函数,则t1会在后台运行直至结束;
第二
Task t2=Task.Factory.StartNew(()=>{});
t2.Wait();//不需要调用Start函数;若调用Wait函数,则会等待t2运行结束才能往下执行,若不调用wait函数,则t2会在后台运行直至结束;
加入参数的写法
Task t1 = new Task(p =>
{
var model=(dynamic)p;
Console.WriteLine("{0}",model.name);
},new { name=});Task.Factory.StartNew(p=>{},new {name=});
带有返回值
Task t=Task.Factory.StartNew<string>(()=>{return "demo";"});
Console.WritLine(t.Result);