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

关于unix下的fifo的疑问

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

    本文导语:  看unix网络编程:线程间的通信,在第四章的第七小节看到fifo时,有个表格说如果fifo是阻塞状态下,如果fifo现有打开操作是打开来写,那么当前操作open fifo只读的话或直接返回,否则的话,fifo会阻塞到fifo打开来写为...

看unix网络编程:线程间的通信,在第四章的第七小节看到fifo时,有个表格说如果fifo是阻塞状态下,如果fifo现有打开操作是打开来写,那么当前操作open fifo只读的话或直接返回,否则的话,fifo会阻塞到fifo打开来写为止。下面又说如果fifo的现有打开操作是打开来读的话,当前操作open fifo 只写的话,成功返回,否则的话,阻塞到fifo打开读为止。我顿时就迷茫了,总有一个操作要先完成的吧,按上面说的,写要等读,读又要等写,那不是死锁了啊?

|
现在使用System V 版本的应用还大量存在,建议两者都熟悉一下。

上面你说的那个问题,能不能提供一个相对完整的测试程序,方便重现问题

|
阻塞情况下,两个进程或线程 分别执行 读打开或写打开,第一个打开的进程或线程, 不管是读还是写打开,都是阻塞的,直到另外一个进程或线程 执行相对的打开操作。就是这个意思。

如果只有一个进程想既打开读又打开写的话,则需要在 打开时 第一个操作指定为 非阻塞的。这样就不会苦等了 呵呵

|
应该是阻塞的啊!呵呵
要不你在open之后分别都增加日志试试

|
就是读打开起码需要一个写打开,写打开起码需要一个读打开.


一旦两者都打开了, 就都不阻塞了, 继续往下执行.

|
用lz的小程序试验了一下,先启动服务器,再启动客户端,两者都阻塞了。。

|
有人是读,有人是写。

如果你先启动读者,再启动写者,那么在写者启动之前,读者将临时阻塞。
写者启动之后,读者将不再阻塞,写者也成功返回

|
posix,system v都要掌握噢。

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












  • 相关文章推荐
  • java命名空间java.util.regex类pattern的类成员方法: unix_lines定义及介绍
  • 刚刚接触Unix系统和Unix编程。急需Unix下多线程程序设计和网络Socket程序设计方面的资料。
  • unix/Linux下c++ boost thread库读写锁介绍
  • 关于UNIX的历史 : 1973年,K.Thompson和D.M.ritchie,用C改写UNIX。那么,在此之前,UNIX是用什么写的?
  • php将标准字符串格式时间转换成unix时间戳_strtotime
  • 没有unix系统我如何学习unix
  • php将unix时间戳转换成字符串时间函数(date)
  • unix盘哪里有下载的??哪里有比较好的unix论坛??万分感谢!!!!!!!!!
  • unix/Linux下c/c++ pthread库读写锁函数介绍
  • 急!装完unix5.06,再装win2000。重启后不能进unix.
  • UNIX特急!!!digital unix问题,请专家快来!!!
  • UNIX支持中文否,请推荐UNIX好书
  • SCO UNIX 5.0用软盘启动之后无法启动UNIX
  • 散分!!unix 用户调查!!!你使用哪款unix
  • hp unix 和 sco unix的区别
  • 入门问题,我想向UNIX编程方向发展,单目前不会UNIX,我该如何做
  • 强烈建议将linux/Unix栏目放到“软件开发者”大类里面来。----Unix开发的人助威支持!!!
  • 现在那些unix比较流行?Linux和 Unix有 什么区别?
  • 小问题, Unix 如何建立一个文件 ,unix 文件有后缀名吗
  • 我想学习Unix,请高手给个下载网址,用linux来学习Unix差别大吗?
  • 请问各位unix大虾,哪有免费的unix下载?


  • 站内导航:


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

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

    浙ICP备11055608号-3