sendfile函数「建议收藏」

sendfile函数「建议收藏」sendfile函数在两个文件描述符之间直接传递数据(完全在内核中操作),从而避免了内核缓冲区和用户缓冲区之间的数据拷贝,效率很高,这被称为零拷贝。sendfile函数的定义如下:#includessize_tsendfile(intout_fd,intin_fd,off_t*offset,size_tcount);in_fd参数是待读出内容的文件

大家好,又见面了,我是你们的朋友全栈君。

sendfile函数在两个文件描述符之间直接传递数据(完全在内核中操作),从而避免了内核缓冲区和用户缓冲区之间的数据拷贝,效率很高,这被称为零拷贝。sendfile函数的定义如下:

#include <sys/sendfile.h>
ssize_t sendfile(int out_fd, int in_fd, off_t* offset, size_t count);

in_fd参数是待读出内容的文件描述符,out_fd参数是待写入内容的文件描述符。offset参数指定从读入文件流的哪个位置开始读,如果为空,则从in_fd文件描述符所指的文件的文件偏移位置开始读,并且sendfile会更新in_fd所指文件的文件偏移。offset如果不为空,则指定从读入文件的哪个位置开始读,当sendfile执行完后,offset返回下一个要读的字节位置,注意,offset不为空不更新in_fd所指文件的文件偏移。count参数指定在文件描述符in_fd和out_fd之间传输的字节数。sendfile成功时返回传输的字节数,失败则返回-1并设置errno。该函数的man手册明确指出in_fd必须是一个支持类似mmap函数的文件描述符,即它必须指向真实的文件,不能是socket和管道;在Linux2.6.33之前,out_fd必须是一个socket,而从Linux2.6.33之后,out_fd可以是任何文件。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/134924.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • CSDN各产品线月度NPS分析报告新鲜出炉【2021年7月】[通俗易懂]

    CSDN各产品线月度NPS分析报告新鲜出炉【2021年7月】[通俗易懂]不知道各位用户大大有没有注意到,最近,咱们CSDN网站很多页面增加了这个功能模块:你愿意向朋友推荐xxx吗?哈哈,聪明的小伙伴们可能已经知道了,它其实就是个简单的满意度调查,学名NPS。那到底什么是NPS呢?且听C菌我慢慢道来。一、什么是NPS?NPS是针对企业良性收益与真实增长所提出的用户忠诚度概念,它是目前最流行的顾客忠诚度分析指标。根据用户的推荐意愿,将用户分为三类:推荐者、被动者、贬损者,推荐者与贬损者是对企业实际的产品口碑有影响的用户,这两部分用户在用户总数中所占百分比之差,就是.

  • pycharm激活码最新【中文破解版】

    (pycharm激活码最新)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.cn/100143.html…

  • X3协同管理系统安装配置

    X3协同管理系统安装配置X3协同平台是三层架构体系,服务端支持Windows、Linux、Unix等操作系统,支持Oracle、MSSQL、Sybase、Informix等大型数据库,支持WebLogic、WebSphere等EJB应用服务器,也支持JBoss、Tomcat等免费的Java服务器。 转载于:https://blog…

  • 大话信号与系统 — 奇文共欣赏[通俗易懂]

    大话信号与系统 — 奇文共欣赏[通俗易懂]大话信号与系统前言:大家都知道《信号与系统》是一门很难的课,很多人虽然学过了,但其实什么也没得到,今天给大家推荐这篇文章,看了之后,相信你会有收获。第一课什么是卷积?卷积有什么用?很多朋友和我一样,工科电子类专业,学了一堆信号方面的课,什么都没学懂,背了公式考了试,然后毕业了。先说”卷积有什么用”这个问题。(有人抢答,”卷积”是为了学习”信号与系…

  • 使用Gson将Object转String出现\u003d 的原因「建议收藏」

    使用Gson将Object转String出现\u003d 的原因「建议收藏」在使用Gson将Object转json字符串,或者将实体类例如:User转为json的过程中,最终的结果会在值中出现\u003d出现这个的原因是Gsongson=newGson()造成的这个时候需要使用Gsongson=newGsonBuilder().disableHtmlEscaping().create();实例化一个gsongson.toJson(…

  • vscode配置java环境最新_VScode中文

    vscode配置java环境最新_VScode中文VScode配置Java环境1.VisualStudioCode介绍VisualStudioCode(简称“VSCode”)是Microsoft在2015年4月30日Build开发者大会上正式宣布一个运行于MacOSX、Windows和Linux之上的,针对于编写现代Web和云应用的跨平台源代码编辑器,可在桌面上运行,并且可用于Windows,macOS和Linux。它具有对JavaScript,TypeScript和Node.js的内置支持,并具有丰富的其他语言(例如

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号