当前位置:  技术问答>linux和unix

apue理解问题

    来源: 互联网  发布时间:2017-05-02

    本文导语:  本帖最后由 ssjssh 于 2013-11-19 10:02:17 编辑 好吧,昨天有人在stackoverflow上吧我发的一段话翻译了一下,我现在还是不能理解,大家解释一下。 当从标准IO库获取输入时,不论是(a)以非缓冲流,还是(b)以行缓冲流(要求...

本帖最后由 ssjssh 于 2013-11-19 10:02:17 编辑
好吧,昨天有人在stackoverflow上吧我发的一段话翻译了一下,我现在还是不能理解,大家解释一下。

当从标准IO库获取输入时,不论是(a)以非缓冲流,还是(b)以行缓冲流(要求数据从内核中取出)形式,所有的行缓冲输出流都会被清除。(b)中需要“要求数据‌​从内核中取出”这个限定,是因为所请求的数据也许已在缓冲中,这样就不需要从内核中读取了。当然,所有来自非缓冲流的输入,即(a)情况,都需要从内核获得数据。

|
首先给你讲一下输出:行缓冲输出就是遇到'n'或者缓冲区满了则输出(清空缓冲区)。同理行缓冲输入也一样。标准输入输出在内核无非就是一小段内存,你一直往里存总有满的时候,一直从里读总有空的时候,其表现形式是在读的时候阻塞,标准写阻塞一般很少遇到,因为内核总能及时处理。
现在给你讲一下非缓冲和行缓冲:行缓冲的意思是:内核检测到输入中断后将数据放到缓冲区里,等待用户读取,如果用户没有读取,那么检测到'n'或者缓冲区满了就清空缓冲;非缓冲:如果没有用户读取,则直接将数据抛弃,如果有则将数据给用户。这里的用户指read之类的函数。

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 下载了APUE源码,怎么打不开啊?
  • 文件名为“apue.tar.Z”的文件在UNIX下怎么打开?大家帮帮忙
  • APUE第2版的例2-1的疑问
  • apue书上的概念,读过这本书的请进
  • 刚学完apue,大家给个建议
  • 求apue的课后答案~~~~~~~~~~~~~
  • APUE 看完之后,拿什么练练手?
  • APUE+macro
  • APUE相关章节不容易理解。
  • 关于apue2 中一个例子的提问
  • apue书的的信号函数,看不懂
  • 哪位兄弟在看apue?相互交流一下
  • apue 上的 Figure3.10运行后,输出怎么是空白
  • apue page113
  • 不同缓冲区长度读操作 APUE2e
  • APUE2 10.12小节中所给的Figure 10.14程序是不是错了?
  • APUE 第二版 程序 5-2
  • 问一下《APUE》这本书是否适合linux开发 ?
  • 关于apue上的一段代码
  • apue上讲的 FIFOs


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,