Looper是一个循环,在这个循环里,监视fd(file descrption)的读写事件;MessageQueue是用来容纳从looper中得到的事件;
Handler是事件的处理对象,其中的HandleEvent()是回调处理函数;
这些Looper, MessageQueue, Handler往往是运行在一个线程thread中。
->()->(fd, 0, , andler, data);
这样looper就会监fd的输入事件(), 当有事件发生,会以参数data调用andler,andler是const <>, 它里面的handleEvent()被调用:
- virtual int handleEvent(int receiveFd, int events, void* data);
创建looper的线程就是最后监视和callback处理的线程。
fd一般用socketpair产生,写fd在写进程里,读fd在这里。
阅读(2286) | 评论(0) | 转发(0) |