C++面试

1、TCP/UDP的区别,如何实现拥塞控制,如何实现可靠传输?udp的应用?

区别
1. TCP是面向连接;UDP是无连接的。
2. TCP提供可靠的服务。也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP尽最大努力交付,即不保 证可靠交付
3. TCP对系统资源要求多,UDP较少。
4. 每个TCP连接都是点对点的。UDP支持一对一、一对多、多对一、多对多。
5. TCP基于字节流模式,UDP数据包模式。
6. TCP保证数据正确性(不丢包),UDP可能丢包
7. TCP保证数据顺序,UDP不保证。
8. TCP的逻辑通信信道是全双工的可靠信道,UDP则是不可靠信道

UDP应用场景
1.面向数据报方式
2.网络数据大多为短消息
3.拥有大量Client
4.对数据安全性无特殊要求
5.网络负担非常重,但对响应速度要求高

2.死锁产生的原因以及必要条件

产生死锁的原因
1. 系统资源不足
2. 进程运行推进的顺序不合适
3. 资源分配不当

产生死锁的四个必要条件
1. 互斥条件:一个资源只能被一个进程使用
2. 请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放
3. 不剥夺条件:进程已获得的资源,在未使用完之前不能强行剥夺。
4. 循环等待条件:若干进程之间形成一种头尾相接的循环等待资源关系。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值