Linuxc/c++服务器编程

本文探讨了四种高效的数据传输方法,包括通过stat和read、sendfile的零拷贝、mmap虚拟内存映射以及splice利用管道进行数据传输。同时,介绍了线程同步的概念,指出内核如何完成线程同步,以及跨进程线程同步的可能性。
摘要由CSDN通过智能技术生成

网络系统调用api

1.通过stat和read读出文件内容,send发送,recv函数接收
2.通过sendfile零拷贝从内核层面发送到网卡
3.通过mmap函数直接将文件映射到其中,通过虚拟内存避免拷贝到用户态,发送到socket,再到网卡
4,通过splice函数,其中一个参数必须是管道,然后通过soceket的连接描述符和管道进行收发

线程

线程的同步由内核完成,隶属于不同进程的线程之间也可以共享互斥锁,因此可以实现跨进程的线程同步。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值