面经-腾讯客户端开发(带脑图)

第一问:进程与线程有什么区别?进程之间通信有哪些方式?

有什么区别:

核心区别在于资源分配与执行流

1:进程是操作系统资源分配的最小单位,线程是CPU调度的最小单位

2:进程内存严格分离,线程共享内存;前者稳定开销大,后者效率高易出现竞态(需要考虑同步问题)

3:进程进行操作的内存成本高

4:进程适用于高隔离性任务(浏览器多标签页),线程适合高并发计算(web服务器处理请求)

进程之间的通信方式?

常见有:

  1. 共享内存(最快,适合大数据交换),但需搭配信号量同步;

  2. 消息队列(异步解耦),比如日志系统;

  3. 套接字(跨网络通信),比如微服务调用。

除此之外还有管道,命名管道,信号量,信号等进程通信方式

第二问:什么是双端对列?相比于传统对列和栈,双端对列有哪些优势和应用场景?

双端队列(Deque)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值