验证 read 阻塞|学习笔记

简介: 快速学习验证 read 阻塞

开发者学堂课程【物联网开发- Linux 高级程序设计全套视频验证 read 阻塞 】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/660/detail/11037


验证 read 阻塞

 

open 以只读、只写方式打开 FIFO 时会阻塞,调用 read 函数从 FIFO 里读数据时read 也会阻塞。如果管道里没有数据,read 就会停止。

例:04_fifo_read_2.c以阻塞模式,验证read函数也会阻塞#include<stdio.h>

#include <unistd.h>

#include<sys/types.h>

#include<sys/stat.h>

#include<fcnt1.h>

#include<string.h>

int main(int argc, char *argv[])

{

int fd;

Char buf[101】;

mkfifo("fifo",0777);

fd=open("./fifo",O WRONLY);

if(fd<o){

perror("open");

return 0;

printf("open write only sucess\n");

sleep(10);

write(fd,”hello world”,11);

close(fd);

return 0;

}

在write函数前加sleep(10);read函数10秒之后才会在里面写入。

Read打开之后等待10秒之后才能读出显示打印,从而验证了read函数从FIFO里读数据时read也会阻塞。没数据会一直停止,读到数据会运行。

调用write:

gcc write.c -o write

gcc read.c -o read

调用read后打开,10秒以后才会读出

相关文章
|
弹性计算 负载均衡 监控
记一次socket read导致业务线程阻塞的案例分析
记一次socket read导致业务线程阻塞的案例分析
494 3
|
存储 缓存
【什么是Read Write Through机制】
【什么是Read Write Through机制】
176 0
|
网络协议 Java
BIO 同步阻塞模型
BIO 同步阻塞模型
BIO 同步阻塞模型
Linux操作方法集接口(read,write)
Linux操作方法集接口(read,write)
Linux操作方法集接口(read,write)
系统编程之高级文件IO(十二)——阻塞和非阻塞方式读取
系统编程之高级文件IO(十二)——阻塞和非阻塞方式读取
184 0
系统编程之高级文件IO(十二)——阻塞和非阻塞方式读取
|
Unix Linux C++
23. 请你谈谈关于IO同步、异步、阻塞、非阻塞的区别
23. 请你谈谈关于IO同步、异步、阻塞、非阻塞的区别
123 0
23. 请你谈谈关于IO同步、异步、阻塞、非阻塞的区别
|
Go
Go channel被关闭时的广播机制,以及遍历未关闭channel时会导致死锁阻塞问题
Go channel被关闭时的广播机制,以及遍历未关闭channel时会导致死锁阻塞问题
187 0
|
机器学习/深度学习 物联网 Linux
Write 带阻塞|学习笔记
快速学习 Write 带阻塞
|
网络协议 编译器 测试技术
管道阻塞的机制|学习笔记
快速学习管道阻塞的机制
管道阻塞的机制|学习笔记
|
调度
【多线程:wait/notify详解】原理及错误用法(虚假唤醒等)
【多线程:wait/notify详解】原理及错误用法(虚假唤醒等)
207 0

热门文章

最新文章