当前位置: 首页 > news >正文

cpp 面试题1

1. i++和++i线程安全问题

时间步线程 A (x = i++)线程 B (x = i++)内存中 i 的值说明
T1 Read: 读到 i=0   0 A 拿到旧值 0
T2   Read: 读到 i=0 0 B 也拿到旧值 0 (因为 A 还没写回)
T3 Modify: 0 + 1 = 1   0 A 计算出 1
T4   Modify: 0 + 1 = 1 0 B 计算出 1
T5 Write: 写入 1   1 A 把 1 写回内存
T6   Write: 写入 1 1 B 把 1 写回内存,覆盖了 A 的结果!
虽然两者都不安全,但它们对局部变量 x 的影响不同:

情况 1: int x = i++; (后置自增)

  • 逻辑:先把 i 的旧值赋给 x,然后 i 自增。
  • 线程风险
    • i 的最终值会出错。
    • x 的值也是不可预测的。如果两个线程都读到了 0,那么两个线程的 x 都是 0。

情况 2: int x = ++i; (前置自增)

  • 逻辑:先把 i 自增,然后把新值赋给 x
  • 线程风险
    • i 的最终值同样会出错。
    • x 的值同样不可预测。如果发生竞态,两个线程可能都读到了 0,都加 1 变成 1,然后都把 x 赋值为 1。
关键点:在线程不安全的环境下,前置和后置的区别毫无意义,因为它们共享同一个“读 - 改 - 写”的脆弱过程。
如何解决i++不安全的问题?
1).std::automic
2.)使用互斥锁mutex

2. tcp粘包问题如何解决

1)固定长度分包
2)特殊分隔符
3)长度前缀(推荐)

 

TCP粘包的根本原因:

TCP是面向字节流的协议,只关心数据有序到达
TCP有缓冲机制(Nagle算法),会合并小包提高效率
应用层和传输层边界不明确
UDP不会粘包的原因:

UDP是面向数据报的协议,每个数据报都是独立的
UDP没有缓冲机制,发送的每个包都是独立传输
但UDP可能丢包或乱序!

http://www.jsqmd.com/news/438937/

相关文章:

  • 论文解读-《Probabilistic Graph Rewiring via Virtual Nodes》 - zhang
  • 如何选择普拉提培训机构?这份观察报告有参考,普拉提,普拉提基地口碑推荐 - 品牌推荐师
  • 以物易物作为元界面:他者、差异与元层次统一
  • 2026年上海哪家婚介所专业,首缘婚介成婚介所平台示范单位优势突出 - 工业品网
  • 2026 年 GEO 服务商选型避坑指南:TOP5 靠谱机构综合实力横评 - 速递信息
  • 算术验证码图片识别(比如11+9这样的)
  • 谈谈2026年深圳有名的婚纱摄影专业公司,看看哪家性价比更高 - 工业品网
  • 防脱洗发水这些成分你真的了解吗?8大热门成分深度评测 - 速递信息
  • 邦亿客宾馆易耗品好用吗,有哪些客户案例可参考 - mypinpai
  • 北京小程序开发哪家更靠谱?2026年全流程定制服务商深度解析 - 品牌2026
  • 聊聊2026年靠谱的别墅艺术漆定制,哪家更值得选 - mypinpai
  • GridForm:基于 Vue 3 + Ant Design Vue 的表格样式通用表单组件
  • 【3 月小记】Part 2: 对拍 - L
  • 2026年上海专业蠕动泵厂家排名,口碑不错的蠕动泵生产企业推荐 - 工业品网
  • 上海智推时代 GEO 合作通道:2026 官方正规联系方式与对接流程 - 速递信息
  • 工业级数据增强:超越传统方法,探索合成数据生成的技术前沿
  • 超越序列:注意力机制的思想演化与工程实现
  • 2026年滑架式污泥料仓选购指南,全国靠谱供应商推荐与费用解读 - myqiye
  • 2026年考研数学辅导靠谱机构推荐,颜语堂全程陪伴助力上岸 - 工业推荐榜
  • 超越传统嵌入:Nomic Atlas嵌入API及其在现代AI系统中的革命性应用
  • 基于 Python+flask框架的老年人健康冠心病防治知识科普网站_vmrw72ad_
  • 2026 年,人生仓库集团的服务究竟有多独特?
  • MetaGPT记忆系统深度剖析:从短期缓存到终身学习的三大记忆架构实战
  • 2026四款AI,效率直接拉满了
  • 基于C#实现的多线程文件上传下载工具
  • 直流电压电流采集检测方案:STM32 的实战之旅
  • 教育平台ueditor怎样配置本地Word文档编辑功能?
  • 基于Python+flask的二手书估价回收平台_r7iyy6nh
  • 脱发用哪种洗发水效果好?8大脱发成分测评:关键看这个 - 速递信息
  • 金融OA系统集成ueditor实现Word本地编辑的步骤?