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

建设网站费用入会计分录一建延期最新消息2022

建设网站费用入会计分录,一建延期最新消息2022,朝阳网站开发联系电话,旅游网站怎么做讲到epoll,就必须了解Socket,上篇博客写了Socket的基本使用方法,步骤主要为创建一个socketsocket是进程之间通信的,那么进程通信如何找到这个socket呢?当然是端口号,所以socket就要和端口号进行绑定&#x…

讲到epoll,就必须了解Socket,上篇博客写了Socket的基本使用方法,步骤主要为

  1. 创建一个socket

  1. socket是进程之间通信的,那么进程通信如何找到这个socket呢?当然是端口号,所以socket就要和端口号进行绑定,使用bind

  1. 把信息初始化完成以后,需要把socket状态设置成监听模式

  1. 监听是否有客户端的socket来找到该socket,如果有,就建立连接accept

  1. 接受数据recv

上面是一个程序,当程序在接受数据的时候,没法干下一步的工作,进入阻塞状态。那收到数据了,就去唤醒该进程,继续执行代码。recv函数返回的是接收到的数据。

socket本身是一个对象,维护一个输入缓冲区,输出缓冲区以及等待队列。

在阻塞的时候就会把进程A放在socket的等待队列(地址而并非完全复制过来)。当socket数据recv完了以后,就会唤醒进程A,重新将进程A放入工作队列中。


上面对应的是一个socket的情况,如果一个进程在等待多个socket怎么办?这种场景应该还是比较常见的,服务端一般都要接受多个客户端的访问。

那么recv只能监视一个socket,显然是不能满足需要的。


监视多个socket

select

监视多个socket一种很朴素的思想是,维护一个socket列表(把所有的socket放在一起),我就盯着这些socket看,如果有一个socket收到数据完了,就把该进程唤醒。

select每次调用的时候要把该进程加入到所有socket的等待队列中去,这里需要遍历一次,所以select默认只能盯着1024个socket。

而且进程被唤醒之后,不知道哪些socket收到数据,这样还需要遍历一次。

epoll

select不知道哪些socket收到数据,挨个遍历效果太低了。这样哪个就绪了(大喝一声:cpu数据传完了你快来梳理),我先给你记到小本本上,等进程被唤醒以后只要对着这个小本本找就可以了。

对于epoll,某个进程创建了一个epoll对象之后,同样的,该对象会被这些socket添加到等到队列中,和刚才的区别在于,这次等待队列中是epoll对象而并非进程。rdlist里面存放的是就绪的socket列表,

socket接收到数据以后,会调用中断程序,让rdlist添加这个socket进去,与此同时,唤醒eventpoll等待队列中的进程。

http://www.yayakq.cn/news/689650/

相关文章:

  • 网站免费模块烟台学校网站建设
  • 个人怎么做贷款网站苏州怎么做网站
  • 做特产的网站开张怎么宣传线上营销策划方案
  • 公司免费网站搭建河北网站备案 多长时间通过
  • 华蓥住房和城乡建设厅网站wordpress安装使用视频教程
  • 好看的网站模版友情链接工具
  • wordpress应用的主题修改教程无锡优化网站价格
  • 广东网站建设在电脑上做苗木网站
  • 住房和城乡建设部网站标准定额网站开发后端待遇
  • 学做面包的网站汽车服务站建站流程
  • 网站建设注意哪些建e网室内设计网 模型
  • 石家庄seo网站优化西安做网站好的公司
  • 网站弹窗是怎么做的生产模板的厂家
  • 微网站的优缺点wordpress的音乐插件
  • 查询海外whois的网站如何建立免费的网站
  • 企业建站什么网站好企业品牌推广渠道
  • 网站对网络营销的作用徐州网站建设托管
  • 花生壳怎么发布自己做的网站重庆专业的网站建设公司哪家好
  • 手机网站开发 视频教程泰安城建吧
  • 古典家具网站模板app开发公司怎么查看
  • 网站建设制作要学什么自媒体app下载
  • 上海微信网站建设公司怎么做淘客专属网站
  • 松原网站制作wordpress源码站整站源码
  • 外币信用卡怎么做网站上用医疗营销的网站怎么做
  • 厦门中信网站怎么做网页投票
  • 直播网站开发要多久上蔡县做彩票网站
  • 有没有做淘宝客网站的百度网站主要提供的服务
  • 上海专业网站建设网站wordpress文章重复
  • 网站开发 之cookie建立网站的流程多少钱
  • 网站框架搭建企业展厅设计施工一体化