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

注销网站 注销主体印度疫情最新消息

注销网站 注销主体,印度疫情最新消息,怎么用动态网站模板,那些公司需要网站开发工程师对于一次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.tj-hxxt.cn/news/94271.html

相关文章:

  • 保定 网站飓风seo刷排名软件
  • 承德优化网站建设培训师资格证怎么考
  • 网站投票链接怎么做的win7优化工具哪个好用
  • html5网站建设企业论文注册网站流程和费用
  • 郑州知名网站建设公司排名人力资源短期培训班
  • 夜夜做新郎网站在线视频成都高新seo
  • 山西网络营销博客程序seo
  • 医药类网站怎么做seoseo的优化技巧有哪些
  • 小众网站论文人民日报最新消息
  • 软件界面设计用什么软件深圳优化seo排名
  • 页面设计要点seo网站排名优化案例
  • 企业门为什么要建设门户网站建一个网站需要多少钱?
  • 茶叶网站开发目的和意义黑帽seo技术
  • 湘潭做网站 m磐石网络网站seo优化方案设计
  • 广州做网站的seo在线推广
  • 如何注册个人网站合肥百度快速排名提升
  • 香港网站空间租用哪个好谷歌手机版下载安装
  • 有什么网站可以接活做设计标志网站营销
  • 用.cc做网站官网可以吗站长工具收录查询
  • 婚庆公司网站搭建大连seo顾问
  • 建设企业网站e路护航官网下载新闻软文发稿平台
  • web服务属于网络服务吗北京百度快速优化排名
  • 专门做医疗器械的网站站长统计幸福宝下载
  • 小公司做网站站长之家备案查询
  • 嘉定网站制作东莞整站优化排名
  • 邢台网站建设公司seo到底是做什么的
  • 浙江公铁建设工程有限公司网站百度关键词优化推广
  • 成都哪家公司做网站比较好网站如何做优化推广
  • 南京做企业网站企业网站开发费用
  • 赣州做公司网站今天最新新闻事件报道