当前位置: 首页 > news >正文

百度服务电话在线人工大型网站seo课程

百度服务电话在线人工,大型网站seo课程,永兴县网站建设推广公司,网络公司经营范围可以加婚介吗async 和 await 关键字只是编译器功能#xff0c;编译器会用Task类创建代码。 返 回值是一个Task#xff0c;这种返回新线程的方法虽然可以提高系统的响应能力#xff0c;但是多线程取值会给编码带来不便#xff0c;所以新出的关键字await用于阻塞当前线程并 获取目标线程…  async 和 await 关键字只是编译器功能编译器会用Task类创建代码。 返 回值是一个Task这种返回新线程的方法虽然可以提高系统的响应能力但是多线程取值会给编码带来不便所以新出的关键字await用于阻塞当前线程并 获取目标线程的返回值在方法体中使用await关键字后要求将方法声明为async用来表示该方法是异步的并且返回值必须为void或者将返回者封装 在一个Task中 1、创建任务 同步方法Greeting 该方法等待一段时间后返回一个字符串通过GetHashCode 查看当前线程ID 代码如下 static string Greeting(string name){Task.Delay(3000).Wait();int j Task.CurrentId.GetHashCode();Console.WriteLine(name name);int i Thread.CurrentThread.GetHashCode();Thread.Sleep(3000);Console.WriteLine(Task 的线程HASHCODE是: j);Console.WriteLine(Thread 的线程HASHCODE是 i);Console.ReadLine();Thread.Sleep(3000);return $Hello,{name};} 定义方法GreetingAsync可以使方法异步化基于任务的异步模式指定在异步方法名后加上Async后缀并返回一个任务异步方法GreetingAsync 和 同步方法Greeting具有相同的输入参数但是异步方法返回的是TaskstringTaskstring 定义了一个返回字符串的任务。代码如下所示 /// summary/// 异步调用方法/// /summary/// param namename/param/// returns/returnsstatic Taskstring GreetingAsync(string name){return Task.Runstring((){return Greeting(name);});} 2、调用异步方法 可以使用await 关键字来调用返回任务的异步方法GreetingAsync使用await 关键字需要用async修饰符声明的方法在GreetingAsync方法完成前该方法内其他代码不会继续执行但是启动 CallerWithAsync方法的线程可以被重用该线程没有阻塞。 代码如下所示 class Program{static void Main(string[] args){CallerWithAsync();}/// summary/// 调用异步方法/// /summaryprivate async static void CallerWithAsync(){string result await GreetingAsync(chenk);Console.WriteLine(result);} 3、延时任务 GreetingAsync 方法返回一个Taskstring 对象对象包含任务创建的信息并保存到任务完成Task类的ContinueWith 方法定义了任何完成后就调用的代码指派给ContinueWith方法的委托将已完成的任务作为参数传入使用Result属性可以访问任务返回的结果。代码如下 /// summary/// 延续任务/// /summaryprivate static void CallerWithContinuationTask(){Taskstring t1 GreetingAsync(chenk);//编译器把await 关键字后的代码放进ContinueWith 方法的代码块转换await关键字t1.ContinueWith(t {string result t.Result;Console.WriteLine(CallerWithContinuationTask 线程Id : Thread.CurrentThread.GetHashCode() ; result 的值为 result);Console.ReadLine();});} 4、同步上下文 验证方法中使用的线程可以点击‘启动’——在‘调试’中选择‘线程’即可查看当前异步程序运行的线程数及位置以CallerWithContinuationTask为例可以看到一个线程为主线程、一个线程在调用GreetingAsync方法、一个线程在执行ContinueWith方法内的代码堆。截图如下 5、使用多个异步方法 5.1 按顺序调用多个异步方法 使用await 关键字可以调用每个异步方法如果一个异步方法依赖于另一个异步方法的结果await关键字就非常有用。 本例中GreetingAsync 异步方法的第二次调用完全独立于第一次调用的结果如果每个异步方法都不使用await那么整个MultipleAsyncMethods异步方法将更快返回结果。代码如下 private async static void MutipleAsyncMethods(){string s1 await GreetingAsync(chenk);string s2 await GreetingAsync(zhangf);Console.WriteLine(Finished both methods \nResult 1: s1 \nResult 2: s2);Console.ReadLine();} 5.2 使用组合器 如果异步方法不依赖于其他异步方法则每个异步方法都不使用await 而是把每个异步方法的返回结果赋值给Task变量就会运行的更快GreetingAsync方法返回Taskstring。这些方法现在可以并行执行了。 组合器可以帮助实现这一点一个组合器可以接受多个同一类型的参数并返回同一类型的值多个同一类型的参数被组合成一个参数传递Task组合器接受多个Task对象作为参数并返回一个Task。 示例代码采用Task.WhenAll组合器方法它可以等待直到两个任务都完成。代码如下 /// summary/// 组合器 WhenAll/// /summaryprivate async static void MultipleAsyncMethodWithCombinatoral(){Taskstring t1 GreetingAsync(chenk);Taskstring t2 GreetingAsync(zhangf);//WhenAll 组合器从WhenAll方法返回的Task,是在所有传入方法的任务都完成了才会返回Task。//WhenAny 组合器是在其中一个传入方法的任务完成了就会返回Task。await Task.WhenAll(t1, t2);}/// summary/// 组合器WhenAll 重载如果所有的任务返回相同的类型那么该类型的数组可用于await返回的结果/// /summaryprivate async static void MultipleAsyncMethodWithCombinatoral2(){Taskstring t1 GreetingAsync(chenk);Taskstring t2 GreetingAsync(zhangf);string[] result await Task.WhenAll(t1, t2);}
http://www.zqtcl.cn/news/883691/

相关文章:

  • cms网站开发phpwordpress有什么功能
  • 专业网站制作解决方案自己在家搭建服务器
  • 中小企业网站提供了什么英文营销网站建设
  • 玉环市建设工程检测中心网站网站建设服务的具体条件
  • 主机网站wampserver搭建网站
  • 建设银行网站点不进去深圳龙华区招聘网最新招聘信息
  • 网站建设公司现在还挣钱吗wordpress棋牌
  • 网站建设有什么技术自媒体平台哪个好
  • 可以建网站的软件南昌seo代理商
  • 手机网站建设宽度中小型企业网站模板
  • 网站开发需要的所有技术中信建设有限责任公司历任董事长
  • 安徽省建设干部学校网站首页做软件是什么工作
  • 图书馆网站设计方案安徽质量工程建设网站
  • 电子商务网站建设效果那个网站可以做链接
  • 怎样做投资与理财网站网页设计优秀案例分析
  • 网站制作需要学什么搜狗网页版入口
  • html源码网seo搜索优化工程师招聘
  • 做的网站在小窗口中怎么保持中间广东省公共资源交易中心地址
  • 合肥做网站汇站网织梦网站广告代码教程
  • 复兴专业做网站wordpress搬家502
  • 代做毕网站淘宝权重查询
  • 有专做高端折扣女装的网站吗大连最好的做网站的公司
  • 网站需求嘉兴seo关键词优化
  • 自己开发微网站上海成品网站
  • 国外对企业网站开发的研究山西住房与城乡建设厅定额网站
  • 国家工信部网站备案postfix wordpress
  • 兴宁电子商务网站建设网站模板在线制作
  • 汕头整站优化营销推广网
  • 云服务器搭建网站教程加盟教育培训机构
  • 建筑网站设置工资单人换了怎么换太原做网站找谁