Task 启动的线程是线程池里的,启动后默认为后台线程
无参无返回值
Task.Run(Test); public void Test() { ...to... }
无参带返回值
//以string返回值为例,Task<string>中的<string>可省略 //task前面的var也可以直接写Task<string>,这里如果直接写的话不能将<string>省略 var task=Task.Run(Test); string result=task.Result; public void Test() { ...todo... return "str"; }
有参无返回值
//以string参数为例 string str="str..."; Task.Run(()=>Test(str)); public void Test() { ...todo... }
有参有返回值
//这里以参数为int,返回值string为例 int num = 10 ; var task = Task.Run(() => Test(num)); string result = task.Result; public void Test(int n) { ...todo... return "str..."; }