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

 

目录
相关文章
|
22天前
|
JavaScript 前端开发 开发者
哇塞!Vue.js 与 Web Components 携手,掀起前端组件复用风暴,震撼你的开发世界!
【8月更文挑战第30天】这段内容介绍了Vue.js和Web Components在前端开发中的优势及二者结合的可能性。Vue.js提供高效简洁的组件化开发,单个组件包含模板、脚本和样式,方便构建复杂用户界面。Web Components作为新兴技术标准,利用自定义元素、Shadow DOM等技术创建封装性强的自定义HTML元素,实现跨框架复用。结合二者,不仅增强了Web Components的逻辑和交互功能,还实现了Vue.js组件在不同框架中的复用,提高了开发效率和可维护性。未来前端开发中,这种结合将大有可为。
65 0
|
3月前
|
SQL 开发框架 前端开发
技术笔记:TPL详解、使用
技术笔记:TPL详解、使用
22 0
|
3月前
|
缓存 JavaScript 前端开发
技术经验分享:EJS模板引擎
技术经验分享:EJS模板引擎
20 0
|
存储 前端开发
前端学习笔记202306学习笔记第三十七天-js-数据存储2
前端学习笔记202306学习笔记第三十七天-js-数据存储2
55 0
|
4月前
|
前端开发
第二十七章 案例TodoList 之总结
第二十七章 案例TodoList 之总结
|
存储 前端开发
前端学习笔记202306学习笔记第三十七天-js-数据存储1
前端学习笔记202306学习笔记第三十七天-js-数据存储1
40 0
|
存储 前端开发
前端学习笔记202306学习笔记第三十七天-js-数据存储3
前端学习笔记202306学习笔记第三十七天-js-数据存储3
46 0
|
前端开发 JavaScript 算法
使用IVX来创造一个自己的3D小游戏【后台和中台、React Core、three.js、Pixi.js、Krpano、antD......】
使用IVX来创造一个自己的3D小游戏【后台和中台、React Core、three.js、Pixi.js、Krpano、antD......】
490 0
使用IVX来创造一个自己的3D小游戏【后台和中台、React Core、three.js、Pixi.js、Krpano、antD......】
|
自然语言处理 负载均衡 JavaScript
JS快速高效开发技巧指南(持续更新)
JavaScrpit代码简单明了,上手速度快,为了高效且优雅的开发,看官阁下不妨试试这篇技巧指南……
218 0
JS快速高效开发技巧指南(持续更新)
|
JavaScript 前端开发
#yyds干货盘点# 【js学习笔记四十一】单体模式
#yyds干货盘点# 【js学习笔记四十一】单体模式
111 0
#yyds干货盘点# 【js学习笔记四十一】单体模式