LeiGaoCoder的个人博客分享 http://blog.sciencenet.cn/u/LeiGaoCoder

博文

Amessage alooper ahandler ALooperRoster

已有 3536 次阅读 2014-11-24 15:08 |个人分类:system|系统分类:科研笔记

1. struct ALooperRoster controls every looper.

   deliverMessage


2. Alooper structure:


   friend struct ALooperRoster;


   struct Event {

       int64_t mWhenUs;

       sp<AMessage> mMessage;

   };


   Mutex mLock;

   Condition mQueueChangedCondition;


   AString mName;


   List<Event> mEventQueue;


   struct LooperThread;

   sp<LooperThread> mThread;

   bool mRunningLocally;

 具体看Post实现,


ALooper::registerHandler(const sp<AHandler> &handler) {

   return gLooperRoster.registerHandler(this, handler);

}

3 AMessage

void AMessage::post(int64_t delayUs) {

   gLooperRoster.postMessage(this, delayUs);

}



这里有个流程图可以作为 reference,

http://blog.csdn.net/dtplayer/article/details/12071271

 



https://blog.sciencenet.cn/blog-1013787-845901.html

上一篇:Linear regression
收藏 IP: 12.24.60.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-5-18 13:03

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部