#region [测试1]classProgram{staticvoidMain(string[] args){Test1();Test2();Console.ReadKey();}publicstaticasyncTaskTest1(){await Task.Run(()=>{for(int i =0; i <100; i++){Console.WriteLine(" Test 1");Task.Delay(100).Wait();}});}publicstaticvoidTest2(){for(int i =0; i <30; i++){Console.WriteLine(" Test 2");Task.Delay(100).Wait();}}}#endregion
执行结果 从执行结果可以看到test1与test2互不依赖,没有相互等待。
测试2
#region[测试2]classProgram{staticvoidMain(string[] args){callTest();Console.ReadKey();}publicstaticasyncvoidcallTest(){Task<int> task =Test1();Test2();int count =await task;Test3(count);}publicstaticasyncTask<int>Test1(){int count =0;await Task.Run(()=>{for(int i =0; i <50; i++){Console.WriteLine(" Test 1");count +=1;}});return count;}publicstaticvoidTest2(){for(int i =0; i <10; i++){Console.WriteLine(" Test 2");}}publicstaticvoidTest3(int count){Console.WriteLine("Total: "+ count);}}#endregion