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

cms做企业网站建站系统最近的重大新闻

cms做企业网站建站系统,最近的重大新闻,外行学网页制作与网站建设从入门到精通,河南金建建设集团网站本文主要记录IO的一些易错操作。 阻塞IO和非阻塞IO,一般都是针对数据读取的,因为write是主动行为,不存在阻塞这一说。 非阻塞式IO,一般都要配合while轮询来读取数据。 IO多路复用 当只检测一路IO的时候,和普通IO的作…

本文主要记录IO的一些易错操作。 

阻塞IO和非阻塞IO,一般都是针对数据读取的,因为write是主动行为,不存在阻塞这一说。

非阻塞式IO,一般都要配合while轮询来读取数据。 

IO多路复用


当只检测一路IO的时候,和普通IO的作用差不多,只不过,多路复用可以选择阻塞、不阻塞或者超时机制。相对普通的IO操作,最大的不同就是多个超时机制。

参考:Linux驱动之poll机制的理解与简单使用 - andy_fly - 博客园 (cnblogs.com)

当然,IO多路复用主要是在一个进程或者一个线程中读取多路IO数据的场景下使用的。

只有一路的话,read阻塞读取就挺好。

当然,如果想要超时机制,可用poll函数来实现。

异步IO

其实,不管是阻塞IO还是非阻塞IO,最终都需要挂起任务或者占用CPU,此时,任务都不能干别的活。

所以,就肯定需要异步IO的机制。

在 I/O 多路复用中,进程通过系统调用 select()或 poll()来主动查询文件描述符上是否可以执行 I/O 操作,仍然是个主动的过程。而在异步 I/O 中,当文件描述符上可以执行 I/O 操作时,进程可以请求内核为自己发送一个信号。之后进程就可以执行任何其它的任务直到文件描述符可以执行 I/O 操作为止,此时内核会发送信号给进程。所以要使用异步 I/O,还得结合所学习的信号相关的内容,所以异步 I/O 通常也称为信号驱动 I/O。

要使用异步 I/O,程序需要按照如下步骤来执行:
⚫ 通过指定 O_NONBLOCK 标志使能非阻塞 I/O。
⚫ 通过指定 O_ASYNC 标志使能异步 I/O。需要注意的是:在调用 open()时无法通过指定 O_ASYNC 标志来使能异步 I/O,但可以使用 fcntl()函数添加 O_ASYNC 标志使能异步 I/O。
⚫ 设置异步 I/O 事件的接收进程。也就是当文件描述符上可执行 I/O 操作时会发送信号通知该进程,通常将调用进程设置为异步 I/O 事件的接收进程。
⚫ 为内核发送的通知信号注册一个信号处理函数。默认情况下,异步 I/O 的通知信号是 SIGIO,所以内核会给进程发送信号 SIGIO。
⚫ 以上步骤完成之后,进程就可以执行其它任务了,当 I/O 操作就绪时,内核会向进程发送一个 SIGIO
信号,当进程接收到信号时,会执行预先注册好的信号处理函数,我们就可以在信号处理函数中进行 I/O 操作。

 

http://www.ds6.com.cn/news/91101.html

相关文章:

  • 表格网站源码护肤品营销策划方案
  • 购物网站建设费用搜索大全引擎入口网站
  • 有什么建筑网站百度文库个人登录
  • 舆情报告分析商丘seo
  • 宝塔面板做网站不能打开PHP显示4042022最新引流推广平台
  • 网站收录不好排名高企业网络推广最简单方法
  • 网站开发流程百度文库热门国际新闻
  • 新冠排名前十名seo网站关键词优化快速官网
  • 做3d效果图的网站有哪些常用的网络推广的方法有哪些
  • 网站开发的技术栈杭州做百度推广的公司
  • 苏州企业网站制作多少钱seo诊断服务
  • 安徽省交通运输厅金良seo在线工具
  • 微信小程序商城开发教程做seo有什么好处
  • 重庆黔江做防溺水的网站重庆网站页面优化
  • 电商网站开发流程企业官网怎么做
  • php和mysql web做网站临沂seo整站优化厂家
  • 网站怎么自己做推广北京百度竞价托管
  • 怎么修改网站模板360广告联盟平台
  • 阜宁做网站的公司网络推广策划书
  • 玉林专业网站建设网络推广平台哪家公司最好
  • 网站建设胶州家园北京建站
  • 做磨毛布内销哪个网站比较好竞价排名是什么
  • 做网站的自我介绍东莞做网站的联系电话
  • 免费云空间seo搜索优化工程师招聘
  • 佛山网页网站制作seo搜索优化专员
  • 荣成网站开发交换友链是什么意思
  • 企业做不做网站的坏处360关键词排名推广
  • wordpress标签使用方法网站seo优化免费
  • 济南wordpress 建站seo快排优化
  • 校园二手网站建设目的意义怎么建网站教程图解