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

企业网站的总体设计网站制作找

企业网站的总体设计,网站制作找,上海优化外包公司,具有品牌的做pc端网站服务器基本框架、I/O 模型、事件处理模式 一、服务器编程基本框架 虽然服务器程序种类繁多#xff0c;但其基本框架都一样#xff0c;不同之处在于逻辑处理。 二、五种 I/O 模型 阻塞/非阻塞、同步/异步#xff08;网络IO#xff09;_呵呵哒(#xffe3;▽#xffe3;)但其基本框架都一样不同之处在于逻辑处理。 二、五种 I/O 模型 阻塞/非阻塞、同步/异步网络IO_呵呵哒(▽)的博客-CSDN博客https://blog.csdn.net/weixin_41987016/article/details/132637401?spm1001.2014.3001.5501 注意 ① 同步I/O: 阻塞I/O非阻塞I/O信号驱动I/O和I/O复用 - 指内核向应用程序通知的是就绪事件比如只通知有客户端连接要求用户代码自行执行              I/O操作 ② 异步I/O - 指内核向应用程序通知的是完成事件比如读取客户端的数据后才通知应用程序由内核完           成I/O操作 三、两种高效的事件处理模式 服务器程序通常需要处理三类事件I/O 事件、信号及定时事件。 有两种高效的事件处理模式Reactor 和 Proactor 同步 I/O 模型通常用于实现 Reactor 模式异步 I/O 模型通常用于实现 Proactor 模式 ① I/O 处理单元是服务器管理客户连接的模块。它通常要完成以下工作 等待并接受新的客户连接接收客户数据将服务器响应数据返回给客户端。但是数据的收发不一定在 I/O 处理单元中执行也可能在逻辑单元中执行具体在何处执行取决于事件处理模式。 ② 一个逻辑单元通常是一个进程或线程。它分析并处理客户数据然后将结果传递给 I/O 处理单  元或者直接发送给客户端具体使用哪种方式取决于事件处理模式。服务器通常拥有多个逻辑单元以实现对多个客户任务的并发处理。③ 网络存储单元可以是数据库、缓存和文件但不是必须的。④ 请求队列是各单元之间的通信方式的抽象。 I/O 处理单元接收到客户请求时需要以某种方式通知一个逻辑单元来处理该请求。同样多个逻辑单元同时访问一个存储单元时也需要采用某种机制来协调处理竞态条件。请求队列通常被实现为池的一部分。 1Reactor 模式 要求主线程I/O处理单元只负责监听文件描述符上是否有事件发生有的话就立即将该事件通知工作线程逻辑单元将socket可读可写事件放入请求队列交给工作线程处理。除此之外主线程不做任何其他实质性的工作。读写数据接受新的连接以及处理客户请求均在工作线程中完成。使用同步 I/O以epoll_wait为例实现的Reactor模式的工作流程是 主线程往 epoll 内核事件表中注册 socket 上的读就绪事件主线程调用 epoll_wait 等待 socket 上有数据可读当 socket 上有数据可读时 epoll_wait 通知主线程。主线程则将 socket 可读事件放入请求队列睡眠在请求队列上的某个工作线程被唤醒它从 socket 读取数据并处理客户请求然后往epoll 内核事件表中注册该 socket 上的写就绪事件当主线程调用 epoll_wait 等待 socket 可写当 socket 可写时epoll_wait 通知主线程。主线程将 socket 可写事件放入请求队列睡眠在请求队列上的某个工作线程被唤醒它往 socket 上写入服务器处理客户请求的结果 2Proactor 模式 Proactor 模式将所有 I/O操作都交给主线程和内核来处理进行读、写工作线程仅仅负责业务逻辑。使用异步I/O模型以aio_read 和 aio_wirte 为例实现的Proactor模式的工作流程是: 主线程调用 aio_read 函数向内核注册 socket 上的读完成事件并告诉内核用户读缓冲区的位置以及读操作完成时如何通知应用程序这里以信号为例。主线程继续处理其他逻辑当 socket 上的数据被读入用户缓冲区后内核将向应用程序发送一个信号以通知应用程序数据已经可用应用程序预先定义好的信号处理函数选择一个工作线程来处理客户请求。工作线程处理完客户请求后调用 aio_write 函数向内核注册 socket 上的写完成事件并告诉内核用户写缓冲区的位置以及写操作完成时如何通知应用程序主线程继续处理其他逻辑当用户缓冲区的数据被写入 socket 之后内核将向应用程序发送一个信号以通知应用程序数据已经发送完毕应用程序预先定义好的信号处理函数选择一个工作线程来做善后处理比如决定是否关闭 socket 3同步 I/O 模拟 Proactor 模式 使用同步 I/O 方式模拟出 Proactor 模式。原理是主线程执行数据读写操作读写完成之后主线程向工作线程通知这一”完成事件“。那么从工作线程的角度来看它们就直接获得了数据读写的结果接下来要做的只是对读写的结果进行逻辑处理。使用同步 I/O 模型以 epoll_wait为例模拟出的 Proactor 模式的工作流程如下 主线程往 epoll 内核事件表中注册 socket 上的读就绪事件。主线程调用 epoll_wait 等待 socket 上有数据可读。当 socket 上有数据可读时epoll_wait 通知主线程。主线程从 socket 循环读取数据直到没有更多数据可读然后将读取到的数据封装成一个请求对象并插入请求队列。睡眠在请求队列上的某个工作线程被唤醒它获得请求对象并处理客户请求然后往 epoll 内核事件表中注册 socket 上的写就绪事件。主线程调用 epoll_wait 等待 socket 可写。当 socket 上有数据可写时epoll_wait 通知主线程。主线程往 socket 上写入服务器处理客户请求的结果。 同步 I/O 模拟 Proactor 模式的工作流程
http://www.w-s-a.com/news/245994/

相关文章:

  • 专用车网站建设wordpress半透明
  • 石狮网站建设哪家好wordpress 3.9 漏洞
  • 为何建设单位网站找网络推广策畿
  • 用网站模板做网站动漫制作专业学校前十名
  • 网页 代码怎么做网站网站建设与维护课程设计
  • 网站制作哪家公司好企业名录联系电话
  • 做的网站怎么上传到网上wordpress图片之间空一行
  • 腾讯云建设网站视频vi报价单
  • 个人网站发布怎么做建设银行网站收款怎么打明细
  • 网站整体色调网站建设都有什么类型
  • 比较简洁大方的网站软件工程四大方向
  • 大家称赞的网站建设常德小学报名网站
  • 做网站怎么建文件夹百度网盘搜索神器
  • 企业有域名怎么做网站淘宝推广平台
  • 学网站开发去哪学药品销售推广方案
  • 哔哩哔哩h5播放器深圳网站seo外包公司哪家好
  • asp做的手机网站wordpress 文章title
  • 网站验证码目录wordpress内嵌播放器
  • 文明网网站建设南昌市建设规费标准网站
  • 安康有建网站的公司吗做网站用什么网名好
  • 济南网站制作哪家专业西安市城乡建设网官方网站
  • 网站建设有趣小游戏怎样让网站优化的方式
  • 昭通做网站儿童编程教学入门教程
  • eclipse静态网站开发软文广告投放平台
  • 网站建设教学视频济南做网站需要多少钱
  • 网站免费做软件市工商联官方网站建设方案
  • 网站建设大体包含英铭长沙网站建设
  • 网站建设培训学校北京如何搜索网站
  • discuz论坛模板哪些网站容易做seo优化
  • 渭南公司做网站网站建设互联网推广