read函数阻塞和非阻塞

通过读普通文件测试得知: read函数在读完文件内容之后, 若再次read,则read函数会立刻返回, 表明read函数读普通文件是非阻塞的.

​ 设备文件: /dev/tty 标准输入STDIN_FILENO
通过读/dev/tty终端设备文件, 表明read函数读设备文件是阻塞的.


结论: 阻塞和非阻塞不是read函数的属性, 而是文件本身的属性.
socket(套接字),pipe(管道)这两种文件都是阻塞的.