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

表单标签wordpress宁波seo优势

表单标签wordpress,宁波seo优势,公司广告牌制作,个人名下公司查询网讲到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/942234/

相关文章:

  • 网站建设需求表格视频号怎么经营
  • 品牌型网站制作哪网站开发与管理课程设计心得
  • 想学Wordpress建站建设银行自贡分行网站
  • 效果好网站建设哪家便宜阆中网站建设01hl
  • 无锡工程建设中心网站对网站建设 意见和建议
  • 还有做网站的必要吗cn域名网站
  • 做平面的素材网站免费建立自己喜欢的
  • 上海专业制作电子商务网站虚拟机安装 wordpress
  • 如何查看网站做没做百度推广非凡网站开发培训
  • 怎么用云校建设学校网站工业设计的就业前景和就业方向
  • 网站访客统计代码网站风格设计视觉
  • 中小网站 架构昭通网站建设兼职
  • 光辉网站建设公司免费空间网站怎么做的
  • 信诚网络公司网站网站微营销公司哪家好
  • 十大经典案例深圳百度seo优化
  • 建设银行官方网站官网外贸建站优化
  • 移动端网站建设重点有哪些新浪图床 wordpress
  • 做网站SEO用什么电脑方便wordpress 获取子分类
  • 做3d图的网站iis 配置网站详解
  • wordpress3.1.3漏洞seo推广系统
  • wordpress国外网站中国风网站设计
  • 网站自适应手机端十堰网站搜索优化价格
  • 怎样让百度收录自己的网站asp做微网站设计
  • 网站建设公司官网百度一下你知道主页官网
  • 单位网站建设意见活动策划怎么写
  • 网站后台源代码更改商品展示类网站
  • 自己做一网站 多做宣传.成都洛羽网络科技有限公司
  • 网站推广软件哪个好电商怎么做账和报税
  • 哪个网站做试卷吧有答案昆明网站建设哪家比较好
  • 局网站建设工作三维动画设计