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

个人做论坛网站要什么证件如何在学校网站上做链接

个人做论坛网站要什么证件,如何在学校网站上做链接,微信网站开发技术,怎样建设商城网站整体概念libuv是一个跨平台、专门写给nodejs的库#xff0c;它的设计是围绕着事件驱动的异步I/O模型。在不同的I/O轮询机制上#xff0c;libuv提供的不是简单抽象对象#xff1a;handle和streams为sockets和其他实例提供了一个高级抽象。此外#xff0c;libuv还提供了跨平台…整体概念libuv是一个跨平台、专门写给nodejs的库它的设计是围绕着事件驱动的异步I/O模型。在不同的I/O轮询机制上libuv提供的不是简单抽象对象handle和streams为sockets和其他实例提供了一个高级抽象。此外libuv还提供了跨平台文件I/O和线程化功能这里有一个图表说明了构成libuv的不同部分以及它们与什么子系统相关:handles和requestlibuv给用户提供了2个可操作的抽象对象evnt loop的组合handles和requests。handles能够操作那些长时间活跃的对象例如活跃的handle在每一次event loop期间会被调用一次循环迭代tcp服务会回调一次连接服务当一个新的连接过来时requests代表的是短时间活跃的操作。这些操作可以被表现依赖于handle上写请求用来在handle上写数据。或者独立的像getaddrinfo请求就不需要依赖handle可以自己独立在event loop中执行I/O循环I/O或者说event loop是libuv的核心。它为所有I/O操作创建了内容也就意味着这些操作绑定在了某一个单一的线程上。只要每个线程运行在不同的线程中就可以运行多个事件循环。不过libuv的event loop不是一个安全的线程event loop遵从一个单一异步I/O线程方法所有的(网络)I/O必须执行在一个没有被阻塞的sockets中使用给定平台上可用的最佳机制进行轮询(例如Linux的epoll、OSX的kqueue和其他的一些BSDs、SunOs的事件接口和windows上的IOCP)。作为循环迭代的一部分loop会被阻塞等待已经添加到poller和回调的sockets上的I/O活动此时将触发sockets状态(可读、可写的挂起)因此handle可以读取、写入或执行所需的I/O操作。为了更好的理解event loop的操作下图将展示所有循环迭代(loop iteration)的状态1.“now”的循环概念得到了更新。事件循环在事件循环开始时缓存当前时间以减少与时间相关的系统调用的数量。2.如果循环是活跃的则会启动循环迭代否则循环将立即退出。那么什么时候被认为是活跃着的循环呢?如果一个循环有活动和ref自己的handles主动请求或关闭句柄被认为是有活跃着的。3.由于计时器运行。所有活跃着的时间调度器都安排在循环的now概念之前调用他们的回调函数4.挂载的回调函数将被调用。所有I/O回调函数都是在轮询event loop的poll之后被调用的。但是存在一些特殊情况比如调用这样的回调被推迟到下一个循环迭代中调用那么此时就可能立刻执行上一个event loop中延迟的I/O回调函数。5.调用idle handle回调函数被调用。尽管这个名称不是很好听但如果idle handle是活跃的那么再每次event loop过程中都一定会调用6.调用prepare handle的回调函数。Prepare handles的回调函数在I/O之前7.poll阶段计算延迟时间。在阻塞I/O之前loop去计算它应该阻塞多长时间。这些是计算超时时的规则:如果loop运行的flag是UV_RUN_NOWAIT,延迟时间为0如果loop是被uv_stop阻塞则延迟0如果此时没有活跃的handles和requests延迟为0如果此时有任何活跃着的idel handles则延迟0如果此时有任何处于pending状态的handles被关闭则延迟为0如果上述任何情况都没有则调用最近的timeout如果没有任何活跃的时间timer存在则无限延迟8.在I/O阶段阻塞。在这个时候the loop将阻塞I/O用于在上一步中计算的持续时间。所有正在监视一个读或写操作的给定文件描述符的I/O相关handles将在此处调用它们的回调。9.调用check handle的回调。check handle在I/O阶段之后调用。10.调用CLose的回调函数。如果一个handes被uv_close()函数调用关闭那么close的回调函数就会被调用11.在使用UV_RUN_ONCE模式这个特殊情况下运行I/O可能没有回调函数存在在I/O被阻塞之后去调用而有timers到期从而回调了timers的回调函数12.循环结束。如果loop是运行在UV_RUN_NOWAIT或者UV_RUN_ONCE模式下的运行结束那么就uv_run()方法会被返回。如果运行在UV_RUN_DEFAULT模式下且the loop在结束的时候仍然活着那么将会继续运行并且从头开始循环迭代否则也将会结束在每次循环线程中libuv使用线程池实现异步文件I/O操作但是网络I/O总是在单个线程中执行。I/O文件不像网络I/O没有特定于平台的文件I/O原语libuv可以依赖所以当前的方法是在线程池中运行阻塞文件I/O操作。libuv目前使用的是一个全局线程池其中所有循环都可以在其中进行队列工作。3种操作目前在此池中运行:文件系统操作DNS功能(getaddrinfo和getnameinfo)用户通过uv_queue_work()指定的代码
http://www.huolong8.cn/news/115234/

相关文章:

  • 贷款网站怎么做的邯郸国外网站建设费用
  • 网站建设代码生成器郑州百姓网征婚交友
  • 装修效果图在线设计苏州网站关键词优化
  • 那个网站是专门做机械设备怎么建自己的销售网站
  • html做静态网站手游折扣平台app哪个好
  • 阐述企业搭建网站的重要性建设了湛江市志愿服务网站
  • 建设微网站中国上市公司排行榜
  • 电子商务网站建设与运维论文潍坊网站制作保定公司电话
  • 网站建设与维护试卷第九章建网站 是否 数据库
  • 企业网站 html模板如何做单页网站
  • 郑州正规的网站制作价钱关于网站排名优化需要怎么做
  • 宁波网站建设网页设计服装设计专业大学世界排名
  • 沈阳网站营销推广网站建1设公司
  • 重庆商务网站建设什么是网络营销设计
  • 壁纸网站设计制作专业项目建设备案网站
  • 厦门酒店网站建设泰安网站开发
  • 秘鲁网站后缀一个主机可以建设多少个网站
  • 直播网站怎么做国家住房和城乡建设厅网站首页
  • 芜湖网站建设兼职电商行业网站建设及维护
  • 个人网站有什么缺点自贸区注册公司有什么优势
  • 简述dw网站开发流程佛山网站建设 合优
  • 网站开发需求文档模板带er图万能短视频素材库
  • 淘宝有WordPress网站搭建吗微信服务市场
  • 遵义建立公司网站的步骤郑州百度网站优化
  • 青岛做网站eoe石家庄最新今天的消息
  • 专业网站建设费用包括哪些7k7k网页游戏官网
  • 电子商务网站建设的目的和作用如何做品牌网站设计
  • 网站建设的基本要素有建设网站应该加什么服务器
  • 展示性公司网站html内蒙古seo
  • 网站上搜索的动图怎么做壁纸工厂办公室简单装修