Task的功能喝Thread类似,写法也很简单;
两种方式:
第一
Task t1=new Task(()=>{});t1.Start();//启动Taskt1.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=1});Task.Factory.StartNew(p=>{},new {name=11});
带有返回值
Task t=Task.Factory.StartNew(()=>{ return "demo";"});Console.WritLine(t.Result);