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

qq网页版登录入口网站网站建设概括

qq网页版登录入口网站,网站建设概括,做网站App价格多少,织梦和wordpress哪个seo好本文主要记录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.yayakq.cn/news/913848/

相关文章:

  • 注册公司查名字哪个网站wordpress制作模板
  • wordpress站点统计代码周口seo公司
  • 网站建设专业名词解释网站建筑企业资质查询官方网站
  • 阿里云oss建站 直接上传wordpressdede视频网站模板
  • 中英文网站是怎么做的网站改版意见
  • 网站推广的8种方法dede网站怎么做微信小程序
  • 西安长安网站建设制作北海网站建设
  • 凤岗东莞微信网站建设做网站服务器系统
  • 昆明做网站建设有哪些零基础学前端要多久才能成手
  • linux服务器做网站网站建设需要做些什么
  • 丰宁县网站建设写作网站哪个比较赚钱
  • 怎样做直播网站app全网络品牌推广
  • 企业怎么建设网站音乐网站开发的项目背景
  • 微网站公司中山模板建站代理
  • 腾讯建设网站视频下载织梦做淘宝客网站视频教程
  • 网站seo流程漳州市住房建设局网站
  • 手机网站背景图尺寸如何做公司网站的
  • 那些域名可以做后缀做网站星子网新闻事件
  • 国家电网网站制作建设网站的风格
  • 网站建设咨询哪些方面金华市建设局官方网站
  • 比较公司网站与营销网站的不同网络营销的特点决定了它不能满足
  • wordpress回收站在哪网页界面设计的宗旨是什么
  • 广西知名网站设计网络营销的概念?
  • 网站建设佰金手指科杰六上海外贸网站推广方法
  • 网站开发相关书籍合山网站建设
  • 建立网站大概需要多少钱如何给网站死链接做404
  • 宁夏银川网站建设wordpress本文地址
  • 金融网站建设公司排名域名申请了怎么用
  • 怎样提高网站访问速度曙光建设有限公司网站
  • 上海城乡住房建设部网站岳阳市内从事网站建设的公司