Java面试--进程间的通信方式

面试题:进程间的通信方式(VIVO、阿里巴巴面试题)
面试题:进程通信方式有哪些,问我分别怎么使用,管道有哪些类型,各有什么优缺点。(百度面试题)

一、进程通信的目的

1、数据传输
一个进程需要将它的数据发送给另一个进程。
2、资源共享
多个进程之间共享同样的资源。
3、通知事件
一个进程需要向另一个或一组进程发送消息,通知它(它们)发生了某种事件
4、进程控制
有些进程希望完全控制另一个进程的执行(如 Debug 进程),此时控制进程希望能够拦截另一个进程的所有陷入和异常,并能够及时知道它的状态改变。

二、进程通信的方式

1、管道( pipe )
管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。
2、有名管道(FIFO)
名管道也是半双工的通信方式,但是它允许无亲缘关系进程间的通信。
3、信号
用于通知接收进程某个事件已经发生,主要作为进程间以及同一进程不同线程之间的同步手段。
4、信号量
信号量是一个计数器,可以用来控制多个进程对共享资源的访问。它常作为一种锁机制,防止某进程正在访问共享资源时,其他进程也访问该资源。
5、消息队列
消息队列是消息的链表,存放在内核中。一个消息队列由一个标识符(即队列ID)来标识。消息队列克服了信号传递信息少、管道只能承载无格式字节流以及缓冲区大小受限等缺点。
6、共享内存
共享内存(Shared Memory),指两个或多个进程共享一个给定的存储区。
特点:
共享内存是最快的一种 IPC,因为进程是直接对内存进行存取。
因为多个进程可以同时操作,所以需要进行同步。
信号量+共享内存通常结合在一起使用,信号量用来同步对共享内存的访问。
7、套接字
套接字也是一种进程间通信机制,与其他通信机制不同的是,它可用于不同机器间的进程通信


Java面试的完整博客目录如下:Java笔试面试目录

转载请标明出处,原文地址:https://blog.csdn.net/ 如果觉得本文对您有帮助,请点击顶支持一下,您的支持是我写作最大的动力,谢谢。
这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Java进程通信可以通过多种方式实现。其中一种常用的方式是使用Java的RMI(远程方法调用)机制。RMI是一种用于实现远程过程调用(RPC)的Java API,它能够直接传输序列化后的Java对象和支持分布式垃圾收集。RMI的实现依赖于Java虚拟机(JVM),因此它只支持从一个JVM到另一个JVM的调用,可以看作是RPC的Java版本。\[2\] 除了RMI,还有其他一些进程通信方式,包括数据传输、资源共享、通知事件和进程控制。数据传输是指一个进程需要将它的数据发送给另一个进程;资源共享是指多个进程共享同样的资源;通知事件是指一个进程需要向另一个或一组进程发送消息,通知它(它们)发生了某种事件;进程控制是指有些进程希望完全控制另一个进程的执行,例如Debug进程,控制进程希望能够拦截另一个进程的所有陷入和异常,并能够及时知道它的状态改变。这些方式可以根据具体的需求选择合适的方式来实现进程通信。\[3\] #### 引用[.reference_title] - *1* [Java进程通信](https://blog.csdn.net/kking_edc/article/details/108338473)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [Java通信方式总结](https://blog.csdn.net/qq_38233258/article/details/123615724)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值