异步编程
学习了一下:C#多线程编程实战。好书!
网上看了大量的async、await资料,还是不明白,直到看了一位兄弟发的https://www.cnblogs.com/MrHanBlog/p/11848728.html,才有点开阔。
程序员还是得多动手才行。
using System; using System.Globalization; using System.Threading; using System.Threading.Tasks;
namespace Chapter1.Recipe1 { class Program { private static async Task Test() { Console.Out.WriteLine(2); Task.Run(() => { Thread.Sleep(2000); Console.WriteLine(20); }); GetV(); Console.Out.WriteLine(21); Console.Out.WriteLine(6); Console.Out.WriteLine(22); } private static async Task GetV() { Console.Out.WriteLine(3); Task.Run(() => { Thread.Sleep(1000); Console.WriteLine(33); }); await Task.Run(() => { Thread.Sleep(10000); Console.WriteLine(4); }); Console.Out.WriteLine(5); } static void Main(string[] args) { Console.Out.WriteLine(1); Test(); Console.Out.WriteLine(7); string str = Console.ReadLine(); } } }
输出理解了,就理解含义了。
1 2 3 21 6 22 7 33 20 4 5
很有意思啊,编程。