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

关于标准输出的缓冲造成的死锁

    来源: 互联网  发布时间:2016-02-12

    本文导语:  UNIX环境高级变成第2版众,例程8,9,10得到个结论说: 问题出在系统默认的标准I/O缓存机制上。当程序10被调用时,对标准输入的第一个fgets引起标准I / O库分配一个缓存,并选择缓存的类型。因为标准输入是个管...

UNIX环境高级变成第2版众,例程8,9,10得到个结论说:

问题出在系统默认的标准I/O缓存机制上。当程序10被调用时,对标准输入的第一个fgets引起标准I / O库分配一个缓存,并选择缓存的类型。因为标准输入是个管道,所以isatty为假,于是标准I/O库由系统默认是全缓存的。对标准输出也有同样的处理。当add2从其标准输入读取而发生堵塞时,程序9从管道读时也发生堵塞,于是产生了死锁。

为什么add2堵塞了,程序9(应该是父进程吧)从管道度也发生了堵塞?

有没有人能更详细地说明一下?

|
自己解决了.

|
这是程序自己的逻辑死锁.不管标准io的事情.

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












  • 相关文章推荐
  • 有关标准输入,标准输出等的弱问!送分 iis7站长之家
  • 有关标准输入,标准输出等的弱问!送分
  • 如何在关闭标准输入输出之后重新打开它们
  • daemon打起的C后台进程,怎么看标准输出?
  • 关于标准输出重定向的问题
  • 请问:怎么提取标准输出(stdout)的内容到别的地方显示?
  • 请问如何捕获"tar"命令的标准错误输出
  • emacs 如何显示标准输出
  • 如何捕获标准输出?
  • 怎样把标准输出指定到一个文件,这样我便不用关心运行时间长的程序的屏幕输出,待运行完后看文件里的内容就可以了吧?
  • 请问各位大侠:如何将标准输出定位到套接字?
  • 会者不难 !csh 中如何输出标准错误 不是2>&1 csh不支持这种语法的
  • UNIX下如何读取标准输出上的字符?
  • 如何把LINUX命令执行产生的标准错误信息输出到一个变量里?
  • 如何既定向到标准输出又定向到文件!
  • 无法使用管道命令或重定向标准输出
  • 求解!关于如何获取系统中其它进程的标准输出
  • 将标准输出同时重定向到屏幕和文件
  • 结果可不可以同时标准输出,并且写入文件
  • 高分求问:我已经关闭了shell标准的输入输出,怎么才能够重新打开它门啊
  • C++ I/O 成员 sync_with_stdio():同标准I/O同步
  • 有没有这样的软件:把一个不标准格式的JAVA原代码转换为具有标准(或比较标准)编码规范的代码。
  • php将标准字符串格式时间转换成unix时间戳_strtotime
  • 请问能否把JCombobox控件设成标准列表框(window标准风格)
  • C++准标准库boost库中文介绍
  • 我用管道作为一个程序的标准输入时,程序报错说不是一个终端不能做为标准输入,请问怎么样管道成为它的标准输入呢???具体错误信息见内
  • 标准c++四种强制类型转换方式介绍
  • 用标准件的方式来组装网页DIV布局-WEB标准网站设计心得
  • C++ STL标准模板库类String成员详细列表参考及示例代码
  • 当A,B程序都在不断读入标准输入的时候, 为什么往A标准输入里面输入的数据一定能被A读到,而不是被B读到?
  • HTML 标准颜色值实例代码表


  • 站内导航:


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

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3