您的位置:首页 > 其它

Fresco Fbcore源码分析_executor(二)

2015-11-13 13:37 686 查看
之前我们主要分析了Executor中关于线程并发这一块相关的逻辑,接下来我们看看关于handler 这部分相关的逻辑。

Handler部分相关类简介

HandlerExecutorService 是一个接口, 它主要提供了下面两个方法:

1.void quit()//退出handler

2.boolean isHandlerThread()//判断当前是否在Handler 线程里面

HandlerExecutorServiceImpl 实现了这个接口,同时增加了对ScheduledFutureImpl的处理,对ScheduledFutureImpl的处理过程主要包含下面三个方法

newTaskFor//这个方法主要是用来创建ScheduledFutureImpl对象

submit//这个方法不仅创建ScheduledFutureImpl对象,创建成功后还会运行存储在这个对象里的线程

schedule //这个方法会将ScheduledFutureImpl对象放到一个handler线程里面取执行

ScheduledFutureImpl 包含两个属性:Handler 和 FutureTask.

Future Task 类似于一个监工,通过它可以实时获取到线程当前的状态并获取返回的结果

UiThreadImmediateExecutorService 从名字上可以看出他是与主线程相关的,他会创建一个与主线程相关的handler 由于它继承了HandlerExecutorServiceImpl,因此它的所有与Runnable相关的操作都在主线程中,将和主线程保持同步
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  源码 线程