准备斑马网络一面(2)

本文介绍了斑马网络面试中涉及的进程通信方式,包括本地进程间的IPC(如消息传递、管道、信号量、共享内存)和远程进程通信的RPC与套接字机制。此外,还讨论了`const`与`#define`的区别,强调了`const`的类型检查和编译阶段作用,以及`#define`的文本替换特性。同时涵盖了死锁、二叉树遍历和线性回归等其他技术知识点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目来源 :看准APP面经

- 进程通信

对于这个问题,可以分两个方面来回答:

本地进程之间的通信方式
远程进程之间的通信方式

**本地的进程间通信(IPC Interprocess Communication)**总结为下面4类
消息传递

  1. 管道
    不足:数据(消息)单向流动,只能是字节流格式的消息,消息的大小受限,只能用于具有亲缘关系的进程之间。
    FIFO,也称为命名管道,是一种文件类型,以一种特殊设备文件形式存在于文件系统中
    消息队列,消息的链表
    特点:消息具有优先级,独立于发送和接受进程,可以实现消息的随机查询。

  2. 信号量
    同步:S = 0,进程A执行完进行V操作,进程B执行前执行P操作,这样B就可以等A执行完再执行。
    互斥:S = 1,进程执行前进行P操作,执行后进行V操作。

  3. 共享内存
    特点:直接对内存存取,通信快,但是多个进程可以同时操作,需要用信号量进行同步

  4. 远程过程调用(Remote Procedure Call)

网络中进程之间的通信

首要解决的问题是如何唯一标识一个进程,在本地可以**通过进程PID来唯一标识一个进程,**但是在网络中这是行不通的,TCP/IP五层网络模型中传输层的“IP+端口”可以唯一标识主机中的应用程序(进程࿰

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值