博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
linux高级IO
阅读量:4308 次
发布时间:2019-06-06

本文共 563 字,大约阅读时间需要 1 分钟。

背景:

     write/writev

      write函数把内存中的数据写入文件描述符,通常这些数据是内存中的连续区域,如果我们应用程序需要把内存中多个非连续区域的数据写入文件描述符,那么需要多次调用write函数,如果文件描述符是socket,那么需要发送多个数据包。这种情况下,write函数效率比较低。

     writev将多个数据存储在一起,将驻留在两个或更多的不连接的缓冲区中的数据一次写出去。

    unlink

writev函数声明:

#include <sys/uio.h>

ssize_t writev( int fd, const struct iovec *iov, int cnt );
iov是一组iovec结构的指针,iovec结构如下:
struct iovec {
char *iov_base; /*基本地址指针,指向缓冲区*/
size_t iov_len; /*指定缓冲区长度*/
};
readv函数将数据读入内存中多个不连续缓冲区.
 
unlink:
     该函数删除一个文件或者管道或者设备,但并不删除文件的内容,只是把文件从文件所在的目录移除,如果此时进程打开该文件,那么依旧可以对文件进行读写操作。

转载于:https://www.cnblogs.com/ThinkerNo-2/p/6939630.html

你可能感兴趣的文章
Axure RP 的安装与卸载
查看>>
C语言讲义——字符串
查看>>
Linux 基础入门
查看>>
blockchain_eth客户端安装 & geth使用 &批量转账(二)
查看>>
Day5
查看>>
[UE4]集合:TSet容器
查看>>
c++ 读取文件 最后一行读取了两次
查看>>
Flask + vue 前后端分离的 二手书App
查看>>
Vboxmanage改动uuid报错的解决的方法
查看>>
React引入,运行
查看>>
xunsearch安装使用
查看>>
树&二叉树&二叉搜索树
查看>>
js获取和设置属性
查看>>
svn由于连接方在一段时间后没有正确答复或连接的主机没有反应连接尝试失败...
查看>>
转载:程序员从初级到中级10个秘诀
查看>>
[No0000E6]C# 判断与循环
查看>>
OnItemClickListener,OnScrollListener应用
查看>>
实验报告三
查看>>
Wampserver之 virtualHost
查看>>
Hibernate【inverse和cascade属性】知识要点
查看>>