怎么样才算一个资深开发
一个资深开发,起码要做到能独立设计和完成一个较复杂的业务系统,并保证稳定运行,对每个技术知识都可以通过一段时间的学习看透其本质,本质的力度最好能到操作系统级别,就不需要研究到二极管了,因为你也造不出改不了,你能做的就是从操作系统的角度做到最优,那如何从操作系统的角度出发呢?就需要你对操作系统的知识有着更多的理解,所以我在学习进程通信的时候,作为一个合格的资深开发,是不是要深入一下呢?
为什么要深入学习进程通信
第一、在多进程的系统里,由于进程的独立性,资源分配相互隔离,而进程通信是为了达到有效的资源共享和相互合作
第二、在Android系统里面,跨进程通信真的是无处不在,例如启动Activity、启动Service、启动广播、传递Bundle等等,如果不学之,如何理解本质呢?
第三、进程间通信更是操作系统内核层极为重要的一部分,而操作系统内核是整个系统的核心,起着承上启下的作用,系统内核那么神奇么?你不想探寻下真理么?
第四、进程通信方式有很多,比如信号、管道、Socket、共享内存等,如果让你做进程通信组件,你是不是应该挑一个适合的,而不是只会用Android Binder呢?
如何深入学习进程间通信
如下图所示,对于整个操作系统而言,进程通信表现在应用层内多个进程协作的过程,但最可怕的就是它在应用层,因为这样它就可能会用到从应用层到硬件层的知识,所以可想而知,想要深入学习它,还是不容小觑。
想要全面的理解进程通信,确实牵扯了很多基础知识,这时候你是不是恨自己没有把操作系统学好呢?不过没关系,这次我将带你全面的学习跨进程通信的知识,并查漏补缺,将基础知识一并补习,写到系列文章中,遇到什么不会就学什么,下面知识储备中列出重点内容。
知识储备
凡事有计划,有准备,我们来看看,如果想要完全的掌握跨进程通信知识 ,都需要哪些知识储备,下面是我先列出来的点,主要是从上面图中选取,以及自己积累的相关知识点,可能还有其他的,后面不断实践学习后,慢慢补充进来
有了如上知识,就需要做一次实战,来巩固我们学习的知识。从而达到更高的吸收率。
储备知识文章
本次分享,总共分为如下几篇,希望通过如下几篇的学习,能辅助你全面的理解进程间通信知识。
一定要知道的进程知识
一共就这几种进程通信方式,不进来看看么
进程通信跟内存有什么关系
进程通信跟IO有什么关系?
深入理解MMAP原理,大厂爱不释手的技术手段
C++学会这些,你也可以开发NDK了
MMAP实现一个跨进程组件,如此简单
总要总结的总结篇
小结
本篇主要列出为什么要学习进程通信,并从整个操作系统的角度来看,找到了进程通信相关的知识点,并形成计划,一步一步深入,补足不足,最终以一场MMAP实战结束本次系列分享,为什么选择MMAP来做实战呢?关注后续,我们慢慢揭晓答案。