当前位置: 首页 > 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.zhongyajixie.com/news/24358.html

相关文章:

  • 网站建设的售后ui设计公司
  • 我有域名怎么建网站郑州seo排名工具
  • 做网站风水网址域名注册
  • wordpress4.9插件优化网站视频
  • 淘客网站是怎么做的福州百度代理
  • 热门课程自己做网站汽车品牌推广策划方案
  • 淄博网站推广公司招代理最好的推广方式
  • 应持续抓好二级网站的建设工作百度搜索指数在线查询
  • jsp网站开发详解书籍黑龙江暴雪预警
  • 简阳建设网站公司营销策划运营培训机构
  • 重庆产品网站推广seo推广软件排行榜
  • 沈阳市建网站石家庄seo优化
  • 南京一等一网站建设免费引流推广工具
  • 万网注册域名做简单网站个人如何在百度做广告
  • wordpress进销存插件seo实战密码第三版pdf下载
  • 做淘客网站怎么样高质量外链购买
  • 今日要闻10条seo技术优化整站
  • 有没有网站做悬赏的app排名优化
  • 南昌网站推广公司新浪微舆情大数据平台
  • 锦州哪里做网站种子在线资源搜索神器
  • 西宁网站建设企业优化百度seo
  • 门花网站建设网站维护需要学什么
  • 绣花图案设计网站在线营销推广
  • 衡水网站建设费用seo任务平台
  • 手机怎么做网站搜索引擎调词软件
  • jquery 网站模板中国站长站官网
  • 广东模板网站建设app拉新渠道
  • 软件网站开发团队名称武汉seo论坛
  • 大连网站建设仟亿科技seo如何快速出排名
  • 网站建设 大公司软文营销的特点有哪些