2:C#TPL探秘

简介: 理论:1、 只要方法是 Task类型的返回值,都可以用 await 来等待调用获取返回值。2、 如果一个返回 Task类型的方法被标记了 async,那么只要方法内部直接 return T 这个 类型的实例就可以。

理论:

1、 只要方法是 Task类型的返回值,都可以用 await 来等待调用获取返回值。

2、 如果一个返回 Task类型的方法被标记了 async,那么只要方法内部直接 return T 这个 类型的实例就可以。

3、 一个返回 Task类型的方法没有被标记了 async,那么需要方法内部直接 Task 实例。

实践(自己添加一个按钮):

private async void button1_Click(object sender, EventArgs e)
        {
            #region 方法一:
            //string i1 = await F1Async();//保证异步任务执行完
            //MessageBox.Show("i1=" + i1);
            //string i2 = await F2Async();
            //MessageBox.Show("i2=" + i2);
            #endregion

            #region 方法二:
            Task<string> task1 = F1Async();
            Task<string> task2 = F2Async();
            string i1 = await task1;//这里保证task1的任务一定执行完,并不是这里才执行异步任务。
            MessageBox.Show("i2=" + i1);
            string i2 = await task2;
            MessageBox.Show("i2=" + i2);
            #endregion
        }
        static Task<string> F1Async()
        {
            MessageBox.Show("F1 Start");
            return Task.Run(() =>
            {
                System.Threading.Thread.Sleep(1000);
                MessageBox.Show("F1 Run");
                return "F1";
            });
        }
        static Task<string> F2Async()
        {
            MessageBox.Show("F2 Start");
            return Task.Run(() =>
            {
                System.Threading.Thread.Sleep(2000);
                MessageBox.Show("F2 Run");
                return "F2";
            });

        }
View Code

 

目录
相关文章
|
6月前
|
SQL 开发框架 前端开发
技术笔记:TPL详解、使用
技术笔记:TPL详解、使用
79 0
|
7月前
|
JavaScript Java 测试技术
基于小程序的优购电商小程序+springboot+vue.js附带文章和源代码说明文档ppt
基于小程序的优购电商小程序+springboot+vue.js附带文章和源代码说明文档ppt
33 0
|
7月前
Vuejs基础版VIII
Vuejs基础版VIII
|
JavaScript 前端开发
#yyds干货盘点# 【js学习笔记四十一】单体模式
#yyds干货盘点# 【js学习笔记四十一】单体模式
120 0
#yyds干货盘点# 【js学习笔记四十一】单体模式
|
前端开发 JavaScript
#yyds干货盘点# 【js学习笔记二十一】手动封装call
#yyds干货盘点# 【js学习笔记二十一】手动封装call
118 0
#yyds干货盘点# 【js学习笔记二十一】手动封装call
|
前端开发 JavaScript
#yyds干货盘点# 【js学习笔记二十】前端eval的使用
#yyds干货盘点# 【js学习笔记二十】前端eval的使用
127 0
#yyds干货盘点# 【js学习笔记二十】前端eval的使用
|
移动开发 JavaScript 前端开发
CoffeeKup —— 基于CoffeeScript的HTML模板引擎
Coffeekup是基于CoffeeScript的HTML模板引擎。它可以让你用100%纯CoffeeScript编写HTML模板。node.js和浏览器都可以使用。
198 0
CoffeeKup —— 基于CoffeeScript的HTML模板引擎
|
JavaScript 前端开发 C#
从壹开始前后端分离 [ Vue2.0+.NET Core2.1] 十五 ║ Vue前篇:JS对象&字面量&this
缘起 书接上文《[从壹开始前后端分离 [ Vue2.0+.NET Core2.1] 十四 ║ VUE 计划书 & 我的前后端开发简史](https://www.cnblogs.com/laozhang-is-phi/p/9577805.html)》,昨天咱们说到了以我的经历说明的web开发经历的几个阶段,而且也说到了Vue系列需要讲到的知识点,今天就正式开始Code,当然今天的代码都特别简单,希望大家慢慢的学习,今天主要讲的是JS高级——关于面向对象的语法。
1661 0