这两个函数一直都没有弄清楚,后来查了一下UNIX环境高级编程。里面真的是非常的全啊,很多对UNIX不解的问题,这里面都给出了解释。
该函数是用于在一次函数调用中将读、写多个非连续缓冲区,叫做scatter read 和 gather write。
iovec的结构体如下
-
struct iovec{
-
void *ioc_base;
-
size_t iov_len;
-
};
调用多次write肯定比调用一次writev的CPU时间要长,当write的次数少的时候,调用writev并没有得到很好的效果。随着需要复制数据的增加,程序中复制缓冲区的开销也会增多。
阅读(4241) | 评论(1) | 转发(0) |