简介 Android是如何实现跨进程通信的,大家熟悉的Binder是什么,怎么设计的,进程间的数据如何发送接收的。本文将以及解析,并对Binder驱动实现、Native层实现、Java层实现三块做一个总结分析。 Binder学习思路 1. Binder与传统IPC的区别 2. Binder驱动的内部 ...
分类:
移动开发 时间:
2020-02-05 00:01:36
阅读次数:
120
容器技术的核心功能,就是通过约束和修改进程的动态表现,从而为其创造出一个“边界”。 对于 Docker 等大多数 Linux 容器来说,Cgroups 技术是用来制造约束的主要手段,而 Namespace 技术则是用来修改进程视图的主要方法。 当 Docker 创建一个容器时,它会创建新的六种 na ...
分类:
系统相关 时间:
2020-02-04 23:20:41
阅读次数:
97
IPC机制 进程间通信 + 进程和线程 + 线程是CPU调度的最小单元,同时线程是一种有限的系统资源。 + 进程一般指一个执行单元,在PC和移动设备上指一个程序或者一个应用。一个进程可以包含多个线程。 + 多进程情况 + 一个应用出自某些原因采用多进程模式实现,比如希望通过多进程获取多份内存空间。 ...
分类:
其他好文 时间:
2020-02-04 13:52:18
阅读次数:
86
进程间通信(IPC,Inter Process Communication) 1、管道(pipe),包含无名管道和命名管道 1)无名管道 2)命名管道 消息队列 共享内存 ...
分类:
系统相关 时间:
2020-02-03 20:54:43
阅读次数:
93
无名管道只能在具有公共祖先的两个进程间使用,且建议半双工使用(因为历史上就是半双工,虽然有些系统支持全双工管道)。 无名管道通过pipe函数创建 #include <unistd.h> int pipe(int fd[2]); 其中:参数fd返回两个文件描述符,fd[0]只用来读,是输出,fd[1] ...
分类:
其他好文 时间:
2020-02-02 23:45:57
阅读次数:
91
与无名管道不同,有名管道FIFO可以在两个无关进程间使用。 #include <sys/stat.h> int mkfifo(const char* path, mode_t mode); 上述函数用于生成一个FIFO文件,其中的mode参数与open函数中的mode相同。当创建了FIFO文件后,要 ...
分类:
其他好文 时间:
2020-02-02 23:35:09
阅读次数:
81
如果是非常简单的多进程执行任务,那么进程间就不需要通讯了,实际情况下,很多业务是需要通讯的,比如,发邮件,如果自进程发送失败了,那么是要通知主进程的等等。 swoole_process进程间支持2种通信方式: 1、管道pipe 2、消息队列 管道通讯 半双工: 数据单向流动, 一端只读, 一端只写。 ...
分类:
其他好文 时间:
2020-02-02 13:48:52
阅读次数:
197
一、什么是RPC RPC 的全称是 Remote Procedure Call 是一种进程间通信方式。它允许程序调用另一个地址空间(通常是共享网络的另一台机器上)的过程或函数,而不用程序员显式编码这个远程调用的细节。即无论是调用本地接口/服务的还是远程的接口/服务,本质上编写的调用代码基本相同。 比 ...
分类:
其他好文 时间:
2020-02-01 21:03:18
阅读次数:
74
安装 yum install stress stress-ng -y stess-ng是stress的下一代,功能更加完善 常用选项 -c,--cpu:代表进程个数(每个进程会占用一个cpu,当超出cpu个数时,进程间会互相争用cpu) -t,--timeout:测试时长(超出这个时间后自动退出) ...
分类:
系统相关 时间:
2020-02-01 12:52:10
阅读次数:
124