编写界面如图:

private async void button1_Click(object sender, EventArgs e)
{
#region 单个执行的异步,效率慢
HttpClient wc = new HttpClient();
string s1 = await wc.GetStringAsync(textBox1.Text);
label1.Text = s1.Length.ToString();
string s2 = await wc.GetStringAsync(textBox2.Text);
label2.Text = s2.Length.ToString();
string s3 = await wc.GetStringAsync(textBox3.Text);
label3.Text = s3.Length.ToString();
#endregion #region 并发全部完成的异步更快
HttpClient hc = new HttpClient();
var task1 = hc.GetStringAsync(textBox1.Text);
var task2 = hc.GetStringAsync(textBox2.Text);
var task3 = hc.GetStringAsync(textBox3.Text);
Task.WaitAll(task1, task2, task3);
label1.Text = task1.Result.Length.ToString();
label2.Text = task2.Result.Length.ToString();
label3.Text = task3.Result.Length.ToString();
#endregion }

使用异步方法不一定都是 await,只有需要按序执行采用 await。上面的程序改成并发下载, Task.WaitAll 是等待所有任务完成。

最新文章

  1. java集合框架之Set
  2. SVN设置实例
  3. hdu 4112 Break the Chocolate(ceil floor)
  4. 结合daterangepicker实现Datatables表格带参数查询
  5. N!水题
  6. 执行npm安装模块的命令 Cannot find module
  7. 转化率最高的16个WordPress 电子商务主题
  8. jxls2.3-简明教程
  9. vue 使用axios 跨域请求数据的问题
  10. input表单的type属性详解,不同type不同属性之间区别
  11. parted分区和挂载及非交互式操作
  12. [转载]URL 源码分析
  13. 痞子衡嵌入式:开源软件协议(MIT/BSD/Apache/LGPL/MPL/GPL)
  14. Silverlight程序之修改命名空间
  15. 配置Beyond Compare作为比较和合并工具
  16. Puppet主机、模块、类、资源、变量、参数、标签命名规范
  17. svn 报错及解决
  18. 转asp.net中的App_GlobalResources和App_LocalResources使用
  19. sql主表分页查询关联子表取任意一条高效方案
  20. 给出a的定义 -- 指针 和 数组

热门文章

  1. Mathtype 公式显示方框
  2. 在C#里面获得应用程序的当前路径
  3. DevExpress GridView 整理
  4. Apache Hive 安装文档
  5. MathExamLv2——周世元211606348,许燕婷211606338
  6. Marshaller根据对象生成xml文件
  7. 聊一下Python的线程 & GIL
  8. 18.4Sum (Map)
  9. PHP GD库
  10. (K)ubuntu上将分区格式化成NTFS格式