面试官:进程通信方式有哪些?我被问倒了!

面试官:看你简历上写了不少多线程、分布式相关的项目,我们来聊聊进程通信吧。你知道进程之间有哪些通信方式吗?

:进程通信?这个...我只记得管道和共享内存,其他的有点模糊了... alt

解析答案

进程通信基础概念

进程通信(IPC,Inter-Process Communication)是指在不同进程之间传播或交换信息的技术。由于每个进程都有自己独立的地址空间,一个进程不能直接访问另一个进程的变量和数据结构,所以操作系统必须提供专门的机制来实现进程间的通信。

主要通信方式详解

1. 管道(Pipes)

管道是最古老的进程通信方式之一,它本质是一个内核缓冲区,提供单向通信能力。

特点:

  • 单向通信,一端写,一端读
  • 只能用于有亲缘关系的进程(如父子进程)
  • 数据以字节流形式传输
  • 容量有限,写满时写进程阻塞

Java示例:

// 创建管道流
PipedInputStream pis = new PipedInputStream();
PipedOutputStream pos = new PipedOutputStream(pis);

// 写线程
new Thread(() -> {
    try {
        pos.write("Hello Pipe!".getBytes());
        pos.close();
    } catch (IOException e) {
        e.printStackTrace();
    }
}).start();

// 读线程  
new Thread(() -> {
    try {
        int data;
        while ((data = pis.read()) != -1) {
            System.out.print((char) data);
        }
        pis.close();
    } catch (IOException e) {
        e.printStackTrace();
    }
}).start();

2. 命名管道(Named Pipes)

命名管道解决了普通管道只能在亲缘进程间通信的限制,通过文件系统中的特殊文件实现。

特点:

  • 有名称,可在文件系统中看到
  • 允许无亲缘关系的进程通信
  • 支持双向通信(某些系统)
  • 通信前需要显式打开

3. 消息队列

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

大学四年面经(学院本) 文章被收录于专栏

大学全部面经从大一到大四,从实习、秋招、春招等等,各种岗位,中小厂,乃至大厂面经! 公粽号:程序员落叶,里面分享全部文章详情。

全部评论

相关推荐

头像
10-23 14:59
已编辑
湖南大学 安卓
那是我成年之后最黑暗的一段时间,无人问津,无处宣泄,一个人在外地租房,租了一个自习室,一边考研,一边找工作,一边看各大招聘平台,每找到一家就面试一家,需要去其他城市面试就跑去面试。独来独往,冷暖自知,没有一个认识的人,无聊的时候不知道想做什么也不知道能做什么,做什么都是一个人,一个人散步,一个人打球,一个人走夜路回租房……经常一天下来一句话都没说,渐渐地我都沉默了,只是觉得窗外的树绿了又黄了又掉了,然后一年就过去了,这一年没有认识新朋友,基本上没有和人来往,和家里都是每个月联系一次,家里不支持我考研,一定是要我去考公,我说,我想试一下,求得了一个机会。我从7月份开始跑步一直跑到10月份,每天晚上都大汗淋漓,那段时间失眠很严重,每天晚上躺下都很精神,早上又起不来,反反复复,恶性循环,再加上连个说话的人都没有,也不知道自己究竟是怎么了,人有的时候身在局中看不到自己的状况。以前我是一个特别宅又内向的人,基本上朋友不叫,我就不出门,而且我喜欢待在家里,喜欢一个人,非常享受独处的时光,打打游戏,看看动漫,真的很爽,但是经历那一年无人问津之后,感觉所有的东西都变了,变的更加的麻木了,更加的讨厌一个人待着,讨厌孤独,爱好消失了,生活的动力越来越少,有时候漫无目的的走着,没有方向,没有人陪同,不知道要走多远,不知道何时回家,自言自语,但无人理会……我好像疯了一样,无限接近抑郁症?慢慢的我开始从i人变成e人,路上逮到一个人就说几句话,尤其是小孩子,和他们说话毫无压力,如果面对一个成年人真的怕对方以为我是一个傻子。经常去一家小饭店吃饭,渐渐地和老板熟悉了,老板成为了我那段时间唯一的“朋友”,有时候老板不忙的时候坐在外面,我就和他拉起家常,我什么都问,什么都说,因为我太孤独了,迫切的想要有人说说话,我显的很亢奋,好像迫切的要抓住什么一样……所以现在的我更加大胆,会大胆的社交,大胆的做一些以前没做过的事情,塞翁失马,焉知非福?有一次吃饭走在路上,看到一张路边的椅子就躺下去,睡不着,就这样闭着眼睛,听着来往车辆的嘈杂声,突然感觉到有人在我旁边说话,我猛的做起来,原来是一对小情侣路过,这一下把他们吓着了,他们先是一惊,后面加快脚步笑着跑走了,大概率是在笑我像个疯子,像个精神病吧。后续的日子,我搬了三次家,每一次从一个地方搬到另一个地方都会有点伤感,最后一次搬家的时候,下雨了,滴滴师傅觉得我行李太多,事先没有说明,但我舍不得加钱,他就不送我进小区,但我住的地方在小区身处,所以,深夜,大雨,一人,一大包行李,像个蚂蚁一样,一件一件的搬运,每一次都搬到视野范围内,生怕东西被偷……就这样淋着雨,扛着物品来返的搬运,没搬几次,已经感觉到汗水和雨水交织,身上衣服鞋子都湿透了,就是那一晚,我奔溃了,破防了……一年多,从无人问津到无人问津,感觉生活一直停留在原地,我很早就关掉了朋友圈,看不了那些光鲜亮丽的生活。然后擦干眼泪继续搬运……当晚,我还要连夜前往火车站,去杭州参加一场重要的考试,来不及洗澡,换了身干净的衣服就动身了。最后的结果就是考研失败,找工作失败……所以我来到了这里。那些都是我来时的路。冷暖自知谁都可以说,但等你明白的那一天就真正成长了在那段东奔西走的日子里,谈了四年的感情也画上了句号……那一段时间应该是我成长最快的日子,此刻正在码字的我饱含着泪水,以往的艰辛不易只有我自己知道。
求职低谷期你是怎么度过的
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
10-31 13:31
现在是2025年10月27日,由于焦虑无法入睡,有感而发写下了这段文字。回想过去三年(甚至可以说是过去的21年),自己一直都是一个不断自我打碎自我重组自我妥协的过程,面对大的困难大的打击,总是会影响自己的心态,在这个过程中不断的去降低预期,安慰自己说是在保护自己,实际上是不敢对自己抱有太大的希望。高考以一个差强人意的分数考上了985,虽然说知道自己数学考的差的不行(两位数),但是当成绩出现之后仍是惊喜到狂叫。每次回想自己的曾经的成果,都有一种恍惚感,感觉自己努力了,但是却又总觉得差那么一口气,总结一下应该就是差那点心气。但是我也如愿的考上了大家口中的好学校,来了之后成绩也还凑合,但是就是无法保研,专业分流之后更是保研无望,在那之后就开始准备找工作了。但是自己的规划能力又极差无比,根本不知道找工作需要什么技能,记得大二的当时刷了很多力扣,学了很多408,直到大二下才迷途知返,知道自己没努力到正确的方向,开始跟着黑马学java,做了外卖点评,在今年的一月份才成功做完了项目,可是当时一点八股都没有学,也花了两个月速成了八股,在三月份开始投递暑期实习简历。这就是噩梦的开始,在这个过程中我的心气也在不断的消亡,由于学历我还是能获得面试机会的,但是几场面试就将我打回原形,基础不牢项目不好没有实习,各个差的标签打在身上令我羞耻难当,经过几次面试的打击使得我逃避了一段时间,用要准备期中考不想挂科的借口,让自己逃离找实习一段时间。但是五月份之后又开始找实习了(回到现实了),发现已经没什么公司招实习生了,那段时间经常失眠,感叹自己浪费了自己的学历以及过去十几年的努力(心气还是太高了哈哈),觉得自己规划能力好差。但是还是非常感谢华为在最后能给予我一段实习经历,尽管我不优秀,跟同部门实习生的学历越差了十万八千里,但是还是非常感谢收留我(不管大家对他评价如何,我都是非常感激的)。实习对我来说就是一段缓冲期,我仿佛在象牙塔一般。那段日子我身上没有求职的焦虑,虽然说每天也很忙,工作的时候要赶需求,下班之后做项目背八卦刷力扣,但是生活还是充实且规律的,我不再被焦虑所包裹,是这一年里我最快乐的一段日子。九月份回来秋招之后,深感秋招之艰难,可能是因为投的晚,实习产出有限,水平不足,在这段时间不断碰壁,几乎没有什么面试的机会,直到如今也没有任何一个offer。但是每天还是坚持在图书馆学习,近期真的有点泄气了,经历上周十场面试,已燃尽,但是给我带来了一丝希望,已有两家公司进了池子,且有两家公司还在流程中,但是我不敢抱有希望,很怕希望破碎使得我再次破碎,但是心里又渴望那希望。打完这段话准备休息了,焦虑没用但是无法不焦虑,感觉自己能力虽然说不是非常强但是应该也不算特别差吧,但是仍如此艰难,可能不仅仅是自己能力的原因吧,时运,机遇都需要合适。将这段文字写下也不是为了传播焦虑输出我的坏情绪,也是希望看到这段话且能共情我的人,看到这些心里可以好受一些,肯定不止我一个人深陷焦虑中,希望这些心里话能给大家带来一丝安慰!(这算比惨吗不算吧哈哈哈,毕竟我从bg上还是看得过去的吧,但是也是0offer,想想我应该会宽慰一点)-------------分割线-------------2025/10/31 今天拿到了第一个满意的意向,那就暂时休息一下吧,祝所有人如愿。
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务