Thread
- 无参数时:
//调用方法Thread thread = new Thread(Method);thread.Start();private static void Method(){Console.WriteLine(\"这是一个新线程\");}//Lambda(适用于新线程代码量很小时)Thread thread = new Thread(()=>{Console.WriteLine(\"这是一个新线程\"); });thread.Start();
- 有参数时:
Thread thread= new Thread(Method);thread.Start(\"123\");private static void Method(object str)//参数必须是object类型{Console.WriteLine(str + \" 这是一个新线程\");}
Task
- 无参数时:
//1、直接调用方法Task task = new Task(Method);task.Start();private static void Method(){Console.WriteLine(\"这是一个新线程\");}//2、Action委托 调用方法Action act = Method;Task.Run(act);private static void Method(){Console.WriteLine(\"这是一个新线程\");}//3、Lambda表达式:Task task = new Task(()=> { Console.WriteLine(\"这是一个新线程\"); });task.Start();//4、Task,RUN方法(也可以使用Lambda表达式)Task task = Task.Run(Method);private static void Method(){Console.WriteLine(\"这是一个新线程\");}
- 有参数时:
//1、Task task = Task.Run(() => Method(\"123\"));//2、Task task = new Task(() => Method(\"123\"));tas1.Start();//3、Task task = Task.Run(delegate() { Method(\"123\");});//4、Task task = Task.Run(new Action (()=> { Method(\"123\"); }));private static void Method(string str){Console.WriteLine(str+ \"这是一个新线程\");}