为什么线程之间需要通信?是如何实现的?
线程是指进程中的一个执行流程,一个进程中可以运行多个线程。线程总是属于某个进程,进程中的多个线程共享进程的内存。
线程之间可以进行通信,但不是必须得,具体什么时候需要根据你的业务需求来,线程之间通信的目的是为了在多线程的情况下实现共享同一个变量。
线程之间是如何进行通信的:
多个线程在处理同一个资源,为避免多线程对同一共享变量的争夺。 使用了一种等待唤醒机制,就是在一个线程进行了操作后,就进入等待状态, 等待其他线程执行完他们的指定代码过后 再将其唤醒。线程之间就是通过这种机制来实现对同一共享变量操作,也就实现了线程之间的通信。
线程之间的通信可通过对 static 区的同步访问实现。 改进synchronized 虽然在多数情况下,$task 消除了同步操作的要求,但是不是所有的多线程系统都用任务来实现。...
进程间的通信:bind机制(IPC->AIDL),linux级共享内存,boradcast,
Activity 之间,activity & serview之间的通信,无论他们是否在一个进程内
Linux通信系统的意义?
Linux是一个领先的操作系统,可以运行在服务器和其他大型平台之上,如大型机和超级计算机。世界上500个最快的超级计算机90%以上运行Linux发行版或变种,最快的前10名超级计算机运行的都是Linux操作系统。
Linux也广泛应用在嵌入式设备上,如手机、平板电脑、路由器、电视和电子游戏机等。在移动设备上广泛使用的Android操作系统就是创建在Linux内核之上。
linux内核由哪几部分组成,简述各部分作用?
一个完整的Linux内核一般由5部分组成,它们分别是内存管理、进程管理、进程间通信、虚拟文件系统和网络接口。
1、内存管理
内存管理主要完成的是如何合理有效地管理整个系统的物理内存,同时快速响应内核各个子系统对内存分配的请求。
Linux内存管理支持虚拟内存,而多余出的这部分内存就是通过磁盘申请得到的,平时系统只把当前运行的程序块保留在内存中,其他程序块则保留在磁盘中。在内存紧缺时,内存管理负责在磁盘和内存间交换程序块。
2、进程管理
进程管理主要控制系统进程对CPU的访问。当需要某个进程运行时,由进程调度器根据基于优先级的调度算法启动新的进程。:Linux支持多任务运行,那么如何在一个单CPU上支持多任务呢?这个工作就是由进程调度管理来实现的。
3、进程间通信
进程间通信主要用于控制不同进程之间在用户空间的同步、数据共享和交换。由于不用的用户进程拥有不同的进程空间,因此进程间的通信要借助于内核的中转来实现。
一般情况下,当一个进程等待硬件操作完成时,会被挂起。当硬件操作完成,进程被恢复执行,而协调这个过程的就是进程间的通信机制。
4、虚拟文件系统
Linux内核中的虚拟文件系统用一个通用的文件模型表示了各种不同的文件系统,这个文件模型屏蔽了很多具体文件系统的差异,使Linux内核支持很多不同的文件系统。
5、网络接口
网络接口提供了对各种网络标准的实现和各种网络硬件的支持。网络接口一般分为网络协议和网络驱动程序。网络协议部分负责实现每一种可能的网络传输协议。

