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

贸易公司网站建设价格网站设计与制作优点

贸易公司网站建设价格,网站设计与制作优点,宁波公司建设网站,定期更新网站本来这章该讲的是 ASP .NET Core 中的 IIS 和 Kestrel #xff0c;但是我看了下这个是给服务器用的。而我只是个 Unity 客户端程序#xff0c;对于服务器的了解趋近于零。 鉴于我对服务器知识和需求的匮乏#xff0c;这里就不讲原书#xff08;大部分#xff09;内容了。本…        本来这章该讲的是 ASP .NET Core 中的 IIS 和 Kestrel 但是我看了下这个是给服务器用的。而我只是个 Unity 客户端程序对于服务器的了解趋近于零。 鉴于我对服务器知识和需求的匮乏这里就不讲原书大部分内容了。本章节里面有一部分还是客户端也可以学习的就是异步流。所以这个章节就改为只学习异步流即可。 本教程学习工程魔术师Dix / HandsOnParallelProgramming · GitCode 1、异步流简介 .Net Core 3.0 还引入了异步流Asynchronous Stream支持。 异步返回类型 | Microsoft Learn了解在 C# 中异步方法可以具有的返回类型以及每种类型的代码示例。https://learn.microsoft.com/zh-cn/dotnet/csharp/asynchronous-programming/async-return-types 这项新功能可以使开发人员等待 IAsyncEnumerableT 上的 foreach 循环以使用流中的元素并使用 yield 返回流以生成元素。异步流不但支持海量数据而且可使服务器在同一时间通过有效地利用线程来做出响应。 2、语法介绍 按照本章节的说法我们这里使用两个接口IAsyncEnumerableT 和 IAsyncEnumeratorT。对于接口的实现比较好说直接看代码 public class MyAsyncEnumerable : IAsyncEnumerableint{private MyAsyncEnumerator mAsyncEnumerator;public IAsyncEnumeratorint GetAsyncEnumerator(CancellationToken cancellationToken default){if (mAsyncEnumerator null)mAsyncEnumerator new MyAsyncEnumerator();return mAsyncEnumerator;}}public class MyAsyncEnumerator : IAsyncEnumeratorint{private int m_Value;public async ValueTaskbool MoveNextAsync(){m_Value;await Task.Delay(1000);if (m_Value 10)return true;elsereturn false;}public int Current m_Value;public ValueTask DisposeAsync(){m_Value 0;return new ValueTask(Task.CompletedTask);}} 这里我们看到每次执行 MoveNext 的时候就会等待 1s 这里是模拟某个非常耗时的函数之后再继续执行直到返回 false这里当然是和普通迭代器模式是一样的。 3、测试用例 下面我们来测试一下直接在主线程调用运行以下函数 public static async void TestRunWithAsyncStream(){Debug.Log(TestRunWithAsyncStream Start !);MyAsyncEnumerable myEnumerable new MyAsyncEnumerable();await foreach (var item in myEnumerable){Debug.Log(${Task.CurrentId} {item}); }Debug.Log(TestRunWithAsyncStream End !);} 运行结果如下 可见运行过程中并没有阻塞主线程而是在异步执行了MoveNext将值返回到当前循环体中。由于方法体是在主线程执行的所以还可以这么写 public static async void TestRunWithAsyncStream(){Debug.Log(TestRunWithAsyncStream Start !);MyAsyncEnumerable myEnumerable new MyAsyncEnumerable();await foreach (var item in myEnumerable){Debug.Log(${Task.CurrentId} {item});//创建一个Objvar go GameObject.CreatePrimitive(PrimitiveType.Cube);go.name $OBJ_{item};}Debug.Log(TestRunWithAsyncStream End !);} 从运行结果上看 异步创建了 GameObject这里就很方便地看到异步和主线程结合在一起了在使用上并看不到任何差异。 4、总结 异步流用起来很简单写起来稍微复杂一些。 在数据量不多的时候我们通常是将所有的异步操作例如读文件完成之后再在主线程执行一些 Unity 的操作。当然在一般情况下是没问题的一般来讲数据都不大不存在问题。但是如果是所谓的海量数据读文件占用的时间就足够大而主线程等待时间过长又没有反应就不是很友好。这种情况下就可以使用异步流来处理执行一段异步程序处理、马上就执行主线程处理。 而且使用异步流能保证执行顺序相应地并行度就只为1比较适合某些流程性质的重逻辑。 本教程学习工程魔术师Dix / HandsOnParallelProgramming · GitCode
http://www.dnsts.com.cn/news/132964.html

相关文章:

  • 大连设计网站公司网站图片如何优化
  • 淘宝哪些做网站关键词排名的有用吗网络推广的方式和途径有哪些
  • ppt下载免费网站2017网站开发工程师
  • python一句做网站网站页面设计报价
  • 网站介绍模版义乌国贸学校网站建设
  • 汽车最好网站建设网上找工程平台有哪些
  • 网站防护找谁做北京前端开发的薪资水平
  • 穆棱市住房和城乡建设局网站湖南网站制作哪家专业
  • 怎样做国外能看到的网站无锡高端网站设计建设
  • 梅州做网站多少钱百度电脑版网页
  • 紫金公司网站制作青岛网站关键词
  • 茂民网站建设lnmp搭建wordpress
  • 成都微信网站建设公司手机代理服务器免费版
  • 上海企业模板建站xx企业网站建设方案书
  • 怎么建单位的网站福州响应式网站
  • 宝塔自助建站源码做心理咨询的网站
  • 电子商务网站建设 课件简单网站设计模板
  • seo网站关键词优化多少钱深圳网络推广公司天涯问答
  • php 怎么做 网站吗浙江建设职业技术学院官方网站
  • 免费架设网站手机网站源码 html5
  • 红木家具网站建设总体规划政协系统网站建设
  • 无法打开建设银行企业网站设计院项目管理系统
  • 六安品牌网站建设电话网站建设需要什么手续
  • al万词推广网站引流it外包公司联系电话
  • 互联网公司网站建设ppt模板下载外贸做网站推广
  • 网站建设服务收费品牌策划书模板范文
  • 手机上什么网站重庆市工程建设信息网新网站
  • 网站html模板下载wordpress 数字指纹
  • 单页网站seo外贸网站优化
  • 深圳做律师网站公司用.net编写网站