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

如何做好网站建设销售seo排名谁教的好

如何做好网站建设销售,seo排名谁教的好,帝国cms做淘宝客网站,写安卓软件用什么工具预备知识 文件描述符file descriptor 文件描述符是Linux系统中对文件、套接字等I/O资源的抽象,每个打开的文件或套接字都有一个唯一的文件描述符。应用程序可以使用文件描述符来读写文件或进行网络通信。 epoll允许程序监控多个文件描述符,以便在这些…

预备知识

文件描述符file descriptor

文件描述符是Linux系统中对文件、套接字等I/O资源的抽象,每个打开的文件或套接字都有一个唯一的文件描述符。应用程序可以使用文件描述符来读写文件或进行网络通信。

epoll允许程序监控多个文件描述符,以便在这些描述符中的任何一个上发生I/O事件时进行处理。在epoll中,文件描述符通常被标记为“可读”、“可写”或“就绪”状态

就绪=可读 并且 可写。这种状态通常在使用epoll的边缘触发模式时使用,它只会通知程序发生了状态改变的文件描述符,而不是所有可读或可写的文件描述符。

套接字socket

定义:套接字通常指的是网络套接字,它包括一个IP地址和一个端口号,用于标识网络上的一台计算机上的一个进程。可以用于在不同进程之间传输数据,无论这些进程在同一台计算机上还是在不同的计算机上

方法:在套接字通信中,一个进程可以创建一个套接字,并将其绑定到一个IP地址和端口号上。然后它可以通过这个套接字向另一个套接字发送数据,或者从另一个套接字接收数据。

例:Web浏览器使用套接字向Web服务器请求网页,邮件客户端使用套接字向邮件服务器发送和接收电子邮件。

分类:阻塞与非阻塞socket

  • 阻塞: 当试图对该文件描述符进行读写时,如果当时没有数据可读,或者暂时不可写,程序就进入等待状态,直到有东西可读或者可写为止。
  • 非阻塞: 如果没有数据可读,或者不可写,读写函数马上返回,而不会等待。

epoll机制

(21条消息) 多路复用机制_坠金的博客-CSDN博客

epoll

epoll工作模式:

  • 边缘触发只会通知程序发生了状态改变的文件描述符
  • 水平触发会一直通知程序文件描述符可读或可写,直到程序明确地告诉内核它不再关注该文件描述符。

区别:

  • 前者会在文件描述符就绪状态下一直通知应用程序进行I/O操作
  • 后者仅在从未就绪状态转换为就绪状态时通知应用程序进行I/O操作。

应用:

需要注意的是,使用 level triggered 模式可能会增加应用程序的负载,因为内核需要不断地向应用程序发送通知,而使用 edge triggered 模式可以更高效地利用 CPU 资源。因此,在一般情况下,推荐使用 edge triggered 模式,因为它能更高效地处理事件。

然而,在以下几种情况下,使用 level triggered 可能更为合适:

  • 数据库或磁盘操作较慢的情况下,使用 edge triggered 模式可能会出现事件丢失的情况,而 level triggered 模式可以持续不断地通知应用程序。
  • 在应用程序中使用了多个线程或进程,并且每个线程或进程都需要处理同一个文件描述符的情况下,使用 level triggered 模式会更方便管理。
  • 在使用 epoll 时,如果你不确定应该使用哪种模式,可以先使用 level triggered 模式进行测试,以确保应用程序正确处理了所有的事件。

epoll实例

epoll实例可以看作是一个事件集合,它包含多个事件。每个事件描述了一个文件描述符上的一种特定事件类型(例如,可读、可写、出错等等),以及当该事件发生时应该采取的操作。应用程序可以使用epoll实例来等待这些事件的发生,并且在它们发生时进行处理。

epoll句柄

当应用程序使用epoll时,它需要创建一个epoll句柄(epoll file descriptor),这个句柄类似于一个文件描述符,用于标识和操作epoll实例。

epoll事件注册函数

epoll提供了三个事件注册函数:epoll_create()、epoll_ctl()和epoll_wait()。

epoll_create()

创建一个epoll实例,返回一个文件描述符。

int epoll_create(int size)

其中size参数指定epoll实例支持的文件描述符数量

epoll_ctl()

将一个文件描述符添加到epoll实例的事件集合中,或者从事件集合中删除一个文件描述符。

int epoll_ctl(int epfd, int op, int fd, struct epoll_event *event)

epfd参数是epoll实例的文件描述符,op参数指定操作类型(添加或删除),fd参数是要添加或删除的文件描述符,event参数描述要注册的事件类型和相关操作

epoll_wait()

等待文件描述符上的事件发生,返回所有发生事件的文件描述符。

int epoll_wait(int epfd, struct epoll_event * events, int maxevents, int timeout)

与其他I/O多路复用技术相比,epoll机制具有更高的效率和更好的扩展性。因为epoll_wait()函数仅会返回就绪的文件描述符,而不会返回所有的文件描述符,从而减少了内核态和用户态之间的数据复制。而且,epoll机制允许应用程序一次性监视大量的文件描述符,因此可以有效地支持高并发的网络应用。

服务端使用epoll步骤

  1. 调用epoll_create函数在Linux内核中创建一个事件表;
  2. 然后将文件描述符(监听套接字listener)添加到所创建的事件表中;
  3. 在主循环中,调用epoll_wait等待返回就绪的文件描述符集合;
  4. 分别处理就绪的事件集合,本项目中一共有两类事件:新用户连接事件和用户发来消息事件(epoll还有很多其他事件,本项目为简洁明了,不介绍)。
http://www.hrbkazy.com/news/12175.html

相关文章:

  • wordpress菜单下拉宁波seo网络优化公司
  • idc网站建设seo关键词快速排名介绍
  • 怎么看一个网站有没有做301云建站
  • 网站建设seo视频东莞网络营销网络推广系统
  • 丹东企业做网站企业网络宣传推广方案
  • 卧龙区建网站济宁百度竞价推广
  • 政府网站信息发布建设方案优化网站怎么做
  • 哪家网站优化公司好百度站长工具seo查询
  • 做淫秽网站有事情吗百度网址大全 简单版
  • 南山网站建设深圳信科营销策略有哪几种
  • 石家庄做网站的口碑好怎么样推广最有效最快速
  • 内销网站怎么做seo外链是什么意思
  • 优质网站建设在哪里西安网络seo公司
  • 长沙 外贸网站建设介绍网络营销的短文
  • 为什么后台编辑内容和网站上面显示的内容不一致短视频营销
  • 石家庄网站建设哪家好电子商务网站建设教程
  • 怎么做网站填内容哪里有正规的电商培训班
  • 色91Av做爰网站国内搜索引擎排名2022
  • 百度小程序代理深圳优化公司排名
  • 蓝色科技企业网站模板关键词排名优化易下拉技术
  • 高端企业网站建设制作搜索引擎优化管理实验报告
  • 服装网站建设开题报告枸橼酸西地那非片多长时间见效
  • 微信跳转链接生成器免费爱站网站seo查询工具
  • wordpress 获取ip北京seo顾问推推蛙
  • 浅谈旅游网站的规划与建设黄页网站推广app咋做广告
  • 常州网站建设怎么样教育机构加盟
  • 网站标题更换一个免费的网站
  • 手机做网站自己做佛山快速排名
  • 猎聘做简历的网站收费靠谱吗seo是什么工作
  • 西安建立公司网站的步骤重庆关键词优化平台