Linux 管道

    技术2022-05-20  59

    Linux 管道

    是一种进程间通信的机制。它是一种单向的通信机制,读进程和写进程不能倒置。Linux把管道抽象成一种文件来进行操作。类似于对设备的读写操作。

     

    实际上管道只是操作系统分配给进程的一段内存缓冲区。

     

    ·当write()到管道满之后,再次的write操作就会被阻塞;

    ·当read()到管道空之后,再次的read操作也会被阻塞(注意:管道中的数据被read()之后,管道就会抛弃此数据,进而可以容纳其他的数据)

    使用范例:(@android 2.1/hardware/ril/libril/ril.cpp/的eventLoop()函数中)

     

     

    ret = pipe(filedes); if (ret < 0) { LOGE("Error in pipe() errno:%d", errno); return NULL; } s_fdWakeupRead = filedes[0]; s_fdWakeupWrite = filedes[1]; 


    最新回复(0)