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

如何做网站对比百度问答seo

如何做网站对比,百度问答seo,百度推广的网站怎么做,代刷网站系统怎么做对于一次IO访问(以read为例),数据会先被拷贝到操作系统内核的缓冲区中,然后才会从操作系统内核的缓冲区拷贝到应用程序的地址空间。所以说,当一个read操作发生时,会经历两个阶段: 1、等待数据准…

 对于一次IO访问(以read为例),数据会先被拷贝到操作系统内核的缓冲区中,然后才会从操作系统内核的缓冲区拷贝到应用程序的地址空间。所以说,当一个read操作发生时,会经历两个阶段:

  1、等待数据准备

        2、将数据从内核拷贝到进程中

linux系统产生了下面五种网络模式的方案

  1、阻塞IO(blocking IO)

  2、非阻塞IO(nonblocking IO)

  3、IO多路复用(IO multiplexing)

  4、信号驱动IO(signal driven IO)不常用

       5、异步IO (asynchronous IO)

1、阻塞IO(blocking IO)

     这种IO模型是同步的,在linux 中,默认情况下所有的socket都是blocking IO, 一个典型的读操作流程: 

 2、非阻塞IO(nonblocking IO)

非阻塞IO模型 只有是检查无数据的时候是非阻塞的在数据到达的时候依然要等待复制数据到用户空间,因此它还是同步IO

当用户线程发起一个read操作后,并不需要等待,而是马上就得到了一个结果。如果结果是一个error(errno == EAGAIN || EWOULDBLOCK)时,它就知道数据还没有准备好,于是它可以先做别的事情然后再次发送read操作。一旦内核中的数据准备好了,并且又再次收到了用户线程的请求,那么它马上就将数据拷贝到了用户线程,然后返回。

所以事实上,在非阻塞IO模型中,用户线程需要不断地询问内核数据是否就绪,也就说非阻塞IO不会交出CPU,而会一直占用CPU。

 

设置非阻塞常用方式:

方式一: 创建socket 时指定

int s = socket(AF_INET, SOCK_STREAM | SOCK_NONBLOCK, IPPROTO_TCP);

方式二: 在使用前通过如下方式设定

fcntl(sockfd, F_SETFL, fcntl(sockfd, F_GETFL, 0) | O_NONBLOCK);

3、IO多路复用

当用户进程调用了select,那么整个进程就会被block,而同时,kernel会 “监视”所有select负责的socket,当任何一个socket中的数据准备好了,select就会返回。这个时候用户进程再调用read操作,将数据从kernel拷贝到用户进程。

所以,IO多路复用的特点是通过一种机制,一个进程能同时等待多个文件描述符,而这些文件描述符(套接字描述符)其中的任意一个进入就绪状态,select()函数就可以返回。

这里需要使用两个system call(select 和 recvfrom),而blocking IO只调用了一个system call(recvfrom)。但是,用select的优势在于它可以同时处理多个connection。

如果处理的连接数不是很高的话,使用select/epoll的web server不一定比使用mutil-threading + blocking IO的web server性能更好,可能延迟还更大。

select/epoll 的优势并不是对于单个连接能处理得更好,而是在于能同时处理更多的连接。

下面这幅图形象的说明了select/poll和epoll的区别。

select/poll

  • 委托内核进行操作
  • 只会通知有几个任务可用,但不知道具体哪几个任务,还需遍历

epoll

  • 委托内核进行操作
  • 会通知具体有哪几个任务可用

 关于根据的IO多路复用问题,将在另外的文章做详细的说明。

4、信号驱动IO

     使用信号驱动I/O时,当网络套接字可读后,内核通过发送SIGIO信号通知应用进程,于是应用可以开始读取数据。该方式并不是异步I/O,因为实际读取数据到应用进程缓存的工作仍然是由应用自己负责的。 

 

5、异步IO

当用户进程发起一个read操作后,内核收到该read操作后,首先它会立刻返回,所以不会对用户进程 阻塞,然后它会等待数据的准备完成,再把数据拷贝到用户内存,完成之后,它会给用户进程发送一个信号,告诉用户进程read操作已完成.

 

http://www.shuangfujiaoyu.com/news/28416.html

相关文章:

  • 做网站建设分哪些类型昆明seo关键词
  • 用来做收录的网站网络推广渠道都有哪些
  • 婺源网站建设关键词推广优化排名品牌
  • 网站建设开发案例教程视频教程百度快照下载
  • 个人网站什么语言做百度极速版app下载安装挣钱
  • 网站优化 seo灰色行业关键词推广
  • 河南省建设教育培训中心网站网络营销相关工作岗位
  • 成都网站制作公司 dedecms竞价排名服务
  • 页面设计成上下两栏排名优化公司哪家靠谱
  • 网站操作日志关闭站长工具seo综合查询
  • 基于web技术的音乐网站开发哪些平台可以打小广告
  • 广州h5网站制作做公司网站的公司
  • 山西有哪些做网站的公司电商网页
  • 做市场调查的网站免费seo搜索
  • 用java做的游戏下载网站有哪些人民日报新闻
  • 电商网站上信息资源的特点包括百度竞价防软件点击软件
  • 织梦圈子如何调用网站默认模板做一个网站的步骤
  • 怎么做网站教程内蒙古seo
  • 叫别人做网站需要注意什么问题怎么提高百度搜索排名
  • cms傻瓜式建站系统seo搜索优化专员招聘
  • 隐藏网站源码网络舆情应急预案
  • 东莞网站建设功能微商怎样让客源主动加你
  • 网站怎么做seo_游戏如何在网上推广
  • 威海市建设局网站新媒体销售好做吗
  • 暂时关闭wordpress对网站提出的优化建议
  • 电子商务平台是什么seo关键词排名优化系统
  • 什么网站做淘宝素材比较好郑州厉害的seo顾问
  • 寮步网站建设价钱廊坊网站seo
  • 做网站建设推广好做吗十大网络营销成功案例
  • 如何让自己做的网站在google搜索引擎上搜到台州做优化