GBase 8a
运维管理
文章
gbase8a使用Pipe管道进行线程间通信
发表于2026-01-10 09:53:3821次浏览1个评论
Pipe管道分为读和写
读空Pipe时:
写端全关闭,read则返回0,即end-of-file;
如果存在写端,且设置了O_NONBLOCK,read返回-1,errno=EAGAIN;
如果存在写端,且为阻塞状态,read则阻塞等待;
写管道Pipe
读端全关闭,进程将异常终止(SIGPIPE);
读端存在,且为阻塞状态,如果buf满了,则写阻塞知道Pipe buf被读出数据并存在空间,未满则立刻写入数据,并返回写入的字节数;
读端存在,且设置了O_NONBLOCK:
热门帖子
- 12025-12-01浏览数:182759
- 22023-05-09浏览数:25051
- 42023-09-25浏览数:18521
- 52020-05-11浏览数:17526