多线程——task的启动方式
方式1:
先实例化,需要再调用Start启动;
static void Main(string[] args) { #region Task //task的启动方式 Task task = new Task(()=> { Test(); }); task.Start(); Console.WriteLine("test"); Console.WriteLine(0); Console.ReadKey(); #endregion Console.WriteLine(); } private static void Test() { for (int i = 0; i < 1000_000_000; i++) { Console.WriteLine(i); } }
方式2:
实例化之后,不需要再调用Start就可以启动;
Task.Factory.StartNew(() => { Test(); });
方式3:
可以处理多个方法,无序地多线程执行;
TaskFactory taskFactory = new TaskFactory(); taskFactory.StartNew(()=> { Test(); });
taskFactory.StartNew(()=> { Test1(); });
taskFactory.StartNew(()=> { Test2(); });
Console.WriteLine("xxx"); Console.ReadKey();