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

 

目录
相关文章
|
7月前
|
前端开发
第二十六章 案例TodoList 之实现Footer组件
第二十六章 案例TodoList 之实现Footer组件
|
4月前
|
JavaScript 前端开发 开发者
哇塞!Vue.js 与 Web Components 携手,掀起前端组件复用风暴,震撼你的开发世界!
【8月更文挑战第30天】这段内容介绍了Vue.js和Web Components在前端开发中的优势及二者结合的可能性。Vue.js提供高效简洁的组件化开发,单个组件包含模板、脚本和样式,方便构建复杂用户界面。Web Components作为新兴技术标准,利用自定义元素、Shadow DOM等技术创建封装性强的自定义HTML元素,实现跨框架复用。结合二者,不仅增强了Web Components的逻辑和交互功能,还实现了Vue.js组件在不同框架中的复用,提高了开发效率和可维护性。未来前端开发中,这种结合将大有可为。
162 0
|
2月前
|
JavaScript 前端开发 C#
从入门到放弃,我们为何从 Blazor 回到 Vue
【10月更文挑战第29天】在前端开发中,许多开发者从尝试新技术 Blazor 最终回到熟悉的 Vue。主要原因包括:1) Blazor 学习曲线陡峭,Vue 上手容易;2) Vue 开发工具成熟,开发效率高;3) Vue 性能优异,优化简单;4) Vue 社区庞大,生态丰富;5) 项目需求和团队协作更适配 Vue。选择技术栈需综合考虑多方面因素。
|
6月前
|
SQL 开发框架 前端开发
技术笔记:TPL详解、使用
技术笔记:TPL详解、使用
81 0
|
7月前
|
JavaScript Java 测试技术
基于springboot+vue.js的卓越导师双选系统附带文章和源代码设计说明文档ppt
基于springboot+vue.js的卓越导师双选系统附带文章和源代码设计说明文档ppt
66 8
|
6月前
|
缓存 JavaScript 前端开发
技术经验分享:EJS模板引擎
技术经验分享:EJS模板引擎
41 0
|
前端开发
前端学习笔记202304学习笔记第十二天-vue3.0-es-footer德封装要求
前端学习笔记202304学习笔记第十二天-vue3.0-es-footer德封装要求
55 0
前端学习笔记202304学习笔记第十二天-vue3.0-es-footer德封装要求
|
前端开发
#yyds干货盘点 【React工作记录三十一】dva.js初识
#yyds干货盘点 【React工作记录三十一】dva.js初识
102 0
#yyds干货盘点 【React工作记录三十一】dva.js初识
|
监控 JavaScript 前端开发
通俗重制系列--Vue2基础教程
通俗重制系列--Vue2基础教程
269 0
|
XML 存储 前端开发
Vue系列之三: 前后分离的演变史
Vue系列之三: 前后分离的演变史
Vue系列之三: 前后分离的演变史