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

衡阳建设学校官方网站建设网站的功能地位

衡阳建设学校官方网站,建设网站的功能地位,在网站上做远程教育系统多少钱,定制网站 北京概念#xff1a; Generator#xff1a;带 yield的function yield#xff1a;Generator或task的中断关键字#xff0c;执行到yield时一次调度周期执行完即阻塞#xff0c;并返回右侧表达式结果#xff0c;等待下一次调度器运行next()或迭代遍历才会继续往下执行#xff0…概念 Generator带 yield的function yieldGenerator或task的中断关键字执行到yield时一次调度周期执行完即阻塞并返回右侧表达式结果等待下一次调度器运行next()或迭代遍历才会继续往下执行直至Generator所有迭代或yield语句全部执行完毕 valid()返回bool值表示Generator是否未完成即是否有yield等待执行若是Generator创建之后第一次执行此方法则会从Generator内开始处到第一次yield出现的地方相当于rewind() 一次 current()返回Generator当前值即yield右侧表达式的值并且会 执行 上一次yield到本次yield之间的部分若是Generator创建之后第一次执行此方法则会从Generator内开始处到第一次yield出现的地方相当于rewind() 一次 rewind()重置Generator状态回到最开始状态即第一个yield 执行前 next()执行一次yield之后的代码直到下一次yield停止yield 下边的代码不会执行 若是Generator创建之后第一次执行此方法则会从Generator内开始处到第一次yield出现的地方相当于rewind() 一次然后再往第一个yield下面继续执行一次直到遇到第二个yield停止 yield from后边跟普通数组或者跟一个Generator 组成嵌套生成器结构不希望去手动调用Generator的current()那么在Generator前 使用 yield from 交给上游(框架)来解决。 send(data)发送data到generator内部generator接受数据data后完成 yield-data的替换并继续从当前中断的yield处往下再执行一次迭代直到遇到下一次yield当前执行的是generator的最后一次yield时会直接完成generator所有迭代此时valid()返回false function A(){echo In A before of loop.PHP_EOL;for($i0;$i2;$i){echo In A in loop up.PHP_EOL;yield;echo In A in loop down.PHP_EOL;}echo In A after of loop.PHP_EOL; } $a A(); // var_dump($a-valid()); // var_dump($a-current()); $a-next(); // $a-next(); // var_dump($a-current()); // $a-valid(); // $a-valid(); // $i 0; // while(true){ // if($a-valid()){ // $i; // echo 第 .$i. 次执行next(); // $a-next(); // }else{ // break; // } // } echo PHP_EOL.All done.PHP_EOL; yield from后面跟一个数组创建一个临时Generator实例每次迭代时依次返回数组的每个元素 //yield from function test() {yield from [1, 3, 5, 7]; }$a test(); var_dump($a-current()); $a-next(); var_dump($a-current()); //通过使用php yield 异步非阻塞select()单线程发送多个socket请求并统一获取返回结果大佬写的示例代码 PHP Generator Yield Demo: PHP 生成器 yield 语法Demo //异步非阻塞yield实现的事件循环统一监听多个socket请求状态的例子 小白要生发https://segmentfault.com/a/1190000022979052 yield事件监听实现 promise::All()的意义 用同步的代码发起异步请求多个请求可并发从IO串行等待改为并行等待减少无畏的等待时间。提高业务程序的效率同时不降低代码可读性。在一个线程内通过事件循环尽可能处理多个请求缓解了一个请求一个线程带来的频繁线程切换从核心上提高运行效率。 promise::All() 核心代码 /*** all()返回的是一个generator外面的事件循环监听到任意一个 promise状态变更都会调用此 * generator的send()方法从事件监听到的数据传入到此generator内部*/ public static function all(...$promises){$re array();foreach ($promises as $promise){//此处yield将会被send()传递的数据代替作为promise状态结构收集数组中的一员保存起来//当所有promise的结构都是完成状态后此循环中的所有yield即迭代完成即完成异步多个事件的结果收集返回结果$re[] yield;}/*** var Promise $promise*/$promise null;foreach ($promises as $promise) {foreach ($re as $param) {//由于promise的收集结果不是按原始顺序排列而是谁先收到数据谁向结果中写入此//处需要使用特殊标记 streamName 来作promise和对应结果的匹配和关联并返回给外//部一个最终结果if ($param[streamName] $promise-getStreamName()) {$results[] $param[data];}}}return $results;}
http://www.zqtcl.cn/news/613323/

相关文章:

  • 全国房地产网站企管宝app下载
  • 无线网络网站dns解析失败南通模板建站多少钱
  • h5手机网站建设哪家好北京海淀房管局网站
  • 制作一个简单的网站冬奥会网页设计代码
  • 如何做网站 百度西充建设部门投诉网站
  • 怎么创建自己的博客网站网站优化主要内容
  • 太原网站建设推广建设网站观澜
  • 网站开发员名称是什么网站制作教程及流程
  • 建设财经资讯网站的目的移动端网站模板怎么做的
  • 受欢迎的赣州网站建设青岛建站
  • 青海网站制作哪家好烟台龙口网站建设
  • 婚恋网站排名前十名网站建设的论坛
  • 进行网站建设有哪些重要意义上海浦东建筑建设网站污水处理工程
  • 自己做qq代刷网站要钱吗瑞安网站建设优化推广
  • 建设网站招标定制高端网站建设报价
  • 商城网站建设code521广州安全教育平台登录入囗
  • 如何做网站系统安庆网站建设公司简
  • 北京做网站电话的公司网站怎么做外链
  • 手工艺品外贸公司网站建设方案复古风格网站
  • 企业网站后端模板如何编写手机程序
  • 泰州网站建设服务好wordpress 子分类
  • 做个企业网站要多少钱php mysql怎么编写视频网站
  • 精仿手表网站做网站为什么要做备案接入
  • 哈什么网一个网站做ppt清新区城乡建设局网站
  • 重庆专业网站建设首页排名网站模板广告去除
  • 河南省建设行业证书查询网站怎么用ps做网站首页背景图片
  • 如何取一个大气的名字的做网站青岛北方现货交易平台
  • 关于做书的网站购物网站建设资讯
  • 运营网站开发工作招聘做装修有什么好网站可以做
  • 免费自学平面设计的网站直播网站开发源码