进程间通信面试题,
如何解决写爬虫IP受阻的问题?立即使用。
我们先来看看面试题目:
(学习视频分享:java视频教程)
面试问题1:流程之间的沟通(VIVO,阿里巴巴面试问题)
面试问题二:流程沟通的方法有哪些?问我怎么用,有哪些类型的管道,有什么优缺点。(百度面试问题)
一、流程沟通的目的
1.数据传输
一个进程需要将其数据发送给另一个进程。
2.资源共享
多个进程共享相同的资源。
3.通知事件
一个流程需要向另一个流程或一组流程发送消息,通知他们发生了一些事情。
4.过程控制
有些进程希望完全控制另一个进程的执行(比如调试进程)。此时,控制进程希望能够拦截另一个进程的所有陷阱和异常,并及时了解其状态变化。
(更多相关面试问题推荐:java面试问答)
二、流程沟通的方式
1.管道
管道是半双工的通信方式,数据只能单向流动,只能在相关进程之间使用。进程的亲缘关系通常是指父子进程关系。
2.著名的流水线(FIFO)
命名管道也是一种半双工通信模式,但是它允许不相关的进程之间进行通信。
3.信号
它用于通知接收进程某个事件已经发生,主要作为进程之间以及同一进程的不同线程之间同步的一种方式。
4.信号量
信号量是一个计数器,可以用来控制多个进程对共享资源的访问。当一个进程正在访问共享资源时,它通常被用作一种锁定机制来防止其他进程访问它。
5.信息排队
队列是存储在内核中的消息的链表。消息队列由标识符(即队列ID)标识。消息队列克服了信号传输信息量少、流水线只能承载无格式字节流和缓冲区大小有限的缺点。
6.共用存储器
共享内存意味着两个或多个进程共享一个给定的存储区域。
特点:
共享内存是最快的IPC,因为进程直接访问内存。
因为多个进程可以同时运行,所以需要同步。
信号量通常一起使用。信号量用于同步对共享内存的访问。
7.套接字
套接字也是一种进程间通信机制。与其他通信机制不同,它可以用于不同机器之间的进程间通信。
推荐:java入门教程以上是java访谈3354关于进程间通信方式的详细介绍。请多关注我们的其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。