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

网页在线生成网站一个网站的建设流程有哪些资料

网页在线生成网站,一个网站的建设流程有哪些资料,温州做网站最好的,海南论坛论坛网站建设文章目录 前言一、ET模式和LT模式概念讲解1.水平触发模式#xff08;LT#xff0c;Level-Triggered#xff09;2.边缘触发模式#xff08;ET#xff0c;Edge-Triggered#xff09; 二、边缘触发和水平触发适用的场景总结 前言 本篇文章主要来讲解epoll的ET模式和LT模式LTLevel-Triggered2.边缘触发模式ETEdge-Triggered 二、边缘触发和水平触发适用的场景总结 前言 本篇文章主要来讲解epoll的ET模式和LT模式epoll中有两种模式可以选择一种是ET模式(边缘触发模式)另一种是LT模式(水平触发模式) 一、ET模式和LT模式概念讲解 1.水平触发模式LTLevel-Triggered 在水平触发模式下当一个文件描述符上的I/O事件就绪时epoll会立即通知应用程序然后应用程序可以对就绪事件进行处理。即只要文件描述符处于就绪状态epoll就会持续通知应用程序直到应用程序处理完所有就绪事件并且再次进入阻塞等待状态。 对于非阻塞I/O如果一个文件描述符上有可读或可写事件发生应用程序可以立即进行读或写操作即使读写操作无法一次完成。如果读或写操作不能立即完成应用程序可以再次调用epoll等待新的事件通知。 2.边缘触发模式ETEdge-Triggered 在边缘触发模式下当一个文件描述符上的状态发生变化时例如从不可读变为可读或者从不可写变为可写epoll会通知应用程序。 与水平触发模式不同的是边缘触发模式只在状态变化的瞬间通知应用程序通知仅发送一次。如果应用程序没有及时处理完这个事件下次等待时将会错过该事件即使事件仍然处于就绪状态。因此在边缘触发模式下应用程序需要确保尽可能完整地处理每个事件以避免遗漏事件。 边缘触发模式适用于需要及时响应状态变化的场景通常可以提供更高的性能因为它最大程度上减少了不必要的事件通知。 二、边缘触发和水平触发适用的场景 边缘触发ET模式适用的情况 需要尽快处理就绪事件边缘触发模式通知应用程序文件描述符状态发生变化的时刻要求应用程序立即对就绪事件进行处理。适用于需要高精度的事件处理减少事件丢失的情况。 非阻塞I/O操作边缘触发模式对非阻塞I/O操作更加高效适用于需要按需处理大量数据的情况。 #include stdio.h #include sys/epoll.h #include fcntl.h // 包含非阻塞I/O所需的头文件int main() {int epoll_fd epoll_create1(0);struct epoll_event event;struct epoll_event events[10]; // 用于存储事件的数组// 向epoll实例注册文件描述符和事件event.events EPOLLIN | EPOLLET; // 边缘触发模式event.data.fd 0; // 示例中使用标准输入的文件描述符if (epoll_ctl(epoll_fd, EPOLL_CTL_ADD, 0, event) -1) {perror(Failed to add file descriptor to epoll);return -1;}// 设置标准输入为非阻塞模式int flags fcntl(0, F_GETFL, 0);flags | O_NONBLOCK;fcntl(0, F_SETFL, flags);// 等待事件发生while (1) {int num_events epoll_wait(epoll_fd, events, 10, -1);if (num_events -1) {perror(Failed to wait for events);return -1;}for (int i 0; i num_events; i) {if (events[i].data.fd 0) {// 标准输入有数据可读char buffer[100];ssize_t num_bytes read(0, buffer, sizeof(buffer));if (num_bytes 0) {// 处理读取的数据// ...}}}}return 0; }水平触发LT模式适用的情况 需要持续处理就绪事件水平触发模式会持续通知应用程序文件描述符就绪直到应用程序处理完所有就绪事件。适用于需要处理多个相关事件或者需要一次性处理大量数据的情况。 阻塞和非阻塞I/O操作混合使用水平触发模式适用于既有阻塞又有非阻塞I/O操作的情况可以在阻塞操作中循环调用读取或写入操作。 #include stdio.h #include sys/epoll.hint main() {int epoll_fd epoll_create1(0);struct epoll_event event;struct epoll_event events[10]; // 用于存储事件的数组// 向epoll实例注册文件描述符和事件event.events EPOLLIN; // 水平触发模式默认模式event.data.fd 0; // 示例中使用标准输入的文件描述符if (epoll_ctl(epoll_fd, EPOLL_CTL_ADD, 0, event) -1) {perror(Failed to add file descriptor to epoll);return -1;}// 等待事件发生while (1) {int num_events epoll_wait(epoll_fd, events, 10, -1);if (num_events -1) {perror(Failed to wait for events);return -1;}for (int i 0; i num_events; i) {if (events[i].data.fd 0) {// 标准输入有数据可读char buffer[100];ssize_t num_bytes read(0, buffer, sizeof(buffer));// 处理读取的数据// ...}}}return 0; }总结 本篇文章就讲解到这里。
http://www.yutouwan.com/news/124943/

相关文章:

  • 网站后台信息管理怎么做vscode制作个人网站
  • 网站做等级保护如何安装wordpress博客
  • 网站转回国内实体店营销策划方案
  • 浅谈马云电子商务网站建设上海包装设计公司排名
  • 企业网站建设费记什么科目企业做网站的费用
  • 吉林市网站建设公司哪家好园林景观设计平面图
  • wordpress全站静太化wordpress自助
  • 双wan路由器做网站接入wordpress登录开发
  • thinkphp手机网站模板网站首页引导页模版
  • 营销型企业网站制作公司建网站和开发app哪个难
  • 青岛网站优化排名网站建设合同表(书)
  • 我先做个网站怎么做的常德本地网络论坛
  • 云南建设厅网站职称评定房屋装修效果图整套
  • 做企业网站的公司有哪些个人网站开发赚钱方向
  • sns网站开发怎么做多个域名指向一个网站
  • 公司做网站百度可以搜到吗电子商务网站建设思维导图
  • 网站需要做实名认证如何做c 是用来做网站的吗
  • 建筑行业数据共享平台网站怎么做海淘网站
  • 申通e物流的网站建设获取网站访客qq号码代码
  • 新乡网站自然优化顺德营销型网站一站式服务哪家好
  • 网站建设 网页设计 网站制作百度关键词优化软件怎么样
  • 网站建设编辑叫什么岗位深圳需要做网站的公司有哪些
  • 做我女朋友的表白句的网站开发者账号是干嘛用的
  • 网站盈利方式西安微网站开发
  • 现如今网站开发用什么框架wordpress静态化设置
  • 网站的建设公司哪个好怎么给网站做友情链接
  • 优普南通网站建设2023年度最火关键词
  • 成品网站源码的优化技巧dede查看网站
  • 商城网站的模块设计六安人论坛最新招聘信息
  • 家具网站模板长沙网站的建设