• 首页

  • 归档

Android P源码分析之Looper(Native)

发表于 2019-05-18 | 更新于 2019-05-19 | 评论数:

一、Looper(Native)序言  学习此篇前,请确认掌握了eventfd以及epoll的使用 简介  在Android P源码分析之Handler(JAVA)篇中,我们分析了Java层的消息循环处理流程,其中Looper扮演着不断从消息队列中取出 ...

阅读全文 »

Android P源码分析之RefBase & sp,wp

发表于 2019-05-11 | 评论数:

一﹑RefBase类简介  RefBase类引入了计数概念,当类的引用计数为0的时候会自动释放类对象.该方式代替传统手动释放类对象 示例类定义class LocalRefBase : public RefBase{public: LocalRefBase()  ...

阅读全文 »

Android P源码分析之Handler(JAVA)

发表于 2019-05-05 | 更新于 2019-05-19 | 评论数:

简介  Handler是线程间通讯的载体,它通过异步操作将Message事务入队到目标线程的消息队列中,最终目标线程通过出队列的方式处理传递过来的Message事务,从而实现线程间通讯  这里我们将生产Message事务的线程称为生产者线程,处理Mes ...

阅读全文 »

Linux基础知识之IO多路复用epoll

发表于 2019-04-23 | 评论数:

简介epoll是linux为监听多路IO的状态所实现的方法.   如上图所示,我们前面在介绍eventfd和socketpair的时候,例子用的都是同步阻塞IO的方式.在单一使用的时候,看不出明显的问题.但是当2者同时使用的时候,如果你想同时监听eventfd和socket ...

阅读全文 »

Linux基础知识之socketpair

发表于 2019-04-21 | 更新于 2019-04-23 | 评论数:

简介  socketpair会创建一对无名套接字的描述符,具有全双工通信特性(描述符可读也可写),他的域只能为AF_UNIX(本地). 应用场景  socketpair主要用于C/S模式的进程间通讯.由于binder通信具有透传fd的特性,使得sock ...

阅读全文 »

Linux基础知识之eventfd

发表于 2019-04-20 | 更新于 2019-04-21 | 评论数:

简介  eventfd顾名思义它就是一个用于事件通知的fd.多用于用户态进程中多线程之间相互通知,也可用于内核事件通知 应用场景  如上图所示,在相同进程中,乙线程无事件可处理时会进行休眠等待.一旦来事件需要处理,甲线程会通过eventfd通知乙线程唤 ...

阅读全文 »

Linux基础知识之IO操作

发表于 2019-04-20 | 评论数:

简介  IO顾名思义就是input/output.俗话说linux一切皆文件,对文件的操作不外乎就读和写.这里我们来介绍read和write函数. 函数原型readSYNOPSIS#include <unistd.h>ssize_t read(int fd, vo ...

阅读全文 »

Linux基础知识之错误码表

发表于 2019-04-20 | 评论数:

这里列出常见的Linux错误码,方便核对系统调用发生err时,出错的原因是什么.你也可以在代码中使用strerror打印错误描述.#include <errno.h>#include <string.h>printf("err reason : %s\n", strerror ...

阅读全文 »

Android P源码分析之一:准备篇

发表于 2019-04-13 | 更新于 2019-04-14 | 评论数:

序言  俗话说万事开头难,如果你看到此篇文章,恭喜你,说明你已经迈出了第一步.  源码分析是一个痛并快乐的过程,其中最重要的一点是要坚持.刚进入源码世界的童鞋们,可能你看一会就会感觉到头晕目眩,云里雾里的感觉.这点是很正常的,你在审视着源码,源码同时也 ...

阅读全文 »

Sky.Huang

9 日志
© 2019 Sky.Huang
本站总访问量次 | 本站访客数人