合肥达内IT培训
美国上市IT培训机构

4001118989

合肥达内Java培训进程通信的类型与作用分析


进程通信是在许多软件编程开发项目中都会用到的一个软件编程开发技术,而本文我们就通过案例分析来简单了解一下,进程通信的类型与作用分析。

合肥达内Java培训进程通信的类型与作用分析

为什么需要进程通信

每个进程都是独立的,拥有各自不同的用户地址空间,进程之间看不到其他进程的的变量。所以进程之间交换数据需要通过在内核开辟一块缓冲区,进程A把数据从用户空间拷到内核缓冲区,进程B再从内核缓冲区把数据读走,即进程间通信。

共享内存通信

共享内存是进程间通信简单的方式之一,共享内存允许两个或更多进程访问同一块内存,通过内存映射,将不同进程的虚拟内存空间映射到相同的物理内存中。

优点:速度快,一个进程向共享的内存区域写入了数据,共享这个内存区域的所有进程就可以立刻看到其中的内容。

缺点:需要进程互斥访问操作,否则进程之间会互相篡改数据。

套接字通信

套接字Socket相当于一个接口,是对网络中不同主机上的应用进程之间进行双向通信的端点的抽象,上联应用层(用户进程),下联传输层(TCP,UDP)。

管道通信

所谓的管道,就是在内核开辟一串缓存。从管道的一端写入数据缓存到内核中,另一端读取,也就是从内核中读取这段数据。另外,管道传输的数据是无格式的流且大小受限。

管道是基于“管道流”的通信方式。JDK提供了PipedWriter、PipedReader、PipedOutputStream、PipedInputStream。其中,前面两个是基于字符的,后面两个是基于字节流的。

使用管道多半与I/O流相关。当我们一个线程需要先另一个线程发送一个信息(比如字符串)或者文件等等时,就需要使用管道通信了。

匿名管道通信

管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。

【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。

预约申请免费试听课程

         

上一篇:合肥达内it培训机构软件测试常见问题与解决方法
下一篇:合肥达内Java培训进程调度算法都有哪些类型

合肥达内Java培训班程序员如何打破职场瓶颈

合肥达内Java培训MySQL数据库优化需要关注哪些问题

合肥达内ui设计培训交互设计应用实践需要注意哪些问题

合肥达内Java培训软件开发线程安全基础知识分享

  • 扫码领取资料

    回复关键字:视频资料

    免费领取 达内课程视频学习资料

  • 搜索抖音号

    搜索抖音号:1821685962

    免费领取达内课程视频学习资料

Copyright © 2021 Tedu.cn All Rights Reserved 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有

选择城市和中心
江西省

贵州省

广西省

海南省