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=1}); Task.Factory.StartNew(p=>{},new {name=11});
带有返回值
Task t=Task.Factory.StartNew<string>(()=>{return "demo";"}); Console.WritLine(t.Result);