Chinaunix首页 | 论坛 | 博客
  • 博客访问: 123215
  • 博文数量: 29
  • 博客积分: 652
  • 博客等级: 上士
  • 技术积分: 340
  • 用 户 组: 普通用户
  • 注册时间: 2012-02-03 21:26
文章分类

全部博文(29)

文章存档

2013年(8)

2012年(21)

分类: 嵌入式

2012-07-13 15:07:53

Looper是一个循环,在这个循环里,监视fd(file descrption)的读写事件;
MessageQueue是用来容纳从looper中得到的事件;
Handler是事件的处理对象,其中的HandleEvent()是回调处理函数;
这些Looper, MessageQueue, Handler往往是运行在一个线程thread中。

->()->(fd, 0, , andler, data);

这样looper就会监fd的输入事件(), 当有事件发生,会以参数data调用andler,andler是const <>, 它里面的handleEvent()被调用:

点击(此处)折叠或打开

  1. virtual int handleEvent(int receiveFd, int events, void* data);
创建looper的线程就是最后监视和callback处理的线程。

fd一般用socketpair产生,写fd在写进程里,读fd在这里。
阅读(2286) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~