C# 初步使用TPL

1、初步使用TPL

     
   /// 
        /// 初步使用TPL  方法不需要添加async修饰  方法体中不需要await
        /// 
        public static void Main04()
        {
            ThreadPool.QueueUserWorkItem((state) => {
                using(FileStream fs = File.OpenRead(@"d:\log.txt"))
                {
                    byte[] buffer = new byte[100];
                    Task t1 = fs.ReadAsync(buffer, 0, buffer.Length);
                    t1.Wait();//等待任务执行完成
                    Console.WriteLine(Encoding.UTF8.GetString(buffer));
                }
            });
        }
        /// 
        /// 初步使用TPL 方法需要添加async修饰  方法体中必须标注await
        /// 
        public async static void Main05()
        {
            using (FileStream fs = File.OpenRead(@"d:\log.txt"))
            {
                byte[] buffer = new byte[100];
                //await意思就是等待ReadAsync执行结束
                await fs.ReadAsync(buffer, 0, buffer.Length);

                string s = Encoding.UTF8.GetString(buffer);
                Console.WriteLine(s);
            }
        }
posted @ 2018-04-24 21:35  野村小孩  阅读(83)  评论(0)    收藏  举报