zoukankan      html  css  js  c++  java
  • Linux FIFO读写时堵塞与非堵塞的效果

    Linux FIFO虽然在本地能看到,但是实际数据是在内存中的,具体Linux 管道的原理请直接搜索,这里记录下读写时设置堵塞与非堵塞的效果,以备查看:

    1.

    写进程阻塞,读进程阻塞。

    先运行写进程(被阻塞),再运行读进程,一切正常。
    先运行读进程(被阻塞),再运行写进程,一切正常。

    2.

    写进程阻塞,读进程非阻塞。

    就改一句代码 fd=open(FIFO_NAME,O_RDONLY | O_NONBLOCK),下面类似。

    先运行写进程(被阻塞),再运行读进程,一切正常。

    先运行读进程,程序直接崩掉(Segmentation fault (core dumped)),想想也挺自然的,没东西你还要读,而且不愿等。。。


    3.

    写进程非阻塞,读进程阻塞。

    先运行写进程,open调用将返回-1,打开失败。

    先运行读进程(被阻塞),再运行写进程,一切正常。

    4.

    写进程非阻塞,读进程非阻塞。

    其实就是上面2,3类各不正常的情况

  • 相关阅读:
    Oracle 多表查询优化
    FZU 2150 Fire Game
    HDU 1058 Humble Numbers
    UVA 11624 Fire!
    POJ 1321 棋盘问题
    线性表的基本操作
    POJ 3414 Pots(广搜输出路径)
    HDU 1495 非常可乐
    POJ 1847 Tram
    POJ 3159 Candies(查分约束)
  • 原文地址:https://www.cnblogs.com/gisvito/p/12922841.html
Copyright © 2011-2022 走看看