在使用loop 前,我是直接使用 epoll 的,后来发现 loop 封装了 epoll, 使用起来还要更方便一点。


static int event_handle(int fd, int events, void* data){printf("==== handle === \n");    return 1;}int mMsgFds[2];int main(void){  if ( socketpair( AF_LOCAL, SOCK_STREAM, 0, mMsgFds) < 0 ) {        ALOGE("could not create thread control socket pair: %s", strerror(errno));  }    sp<Looper> looper;    looper = new Looper(true);    looper->addFd(mMsgFds[1], 0, ALOOPER_EVENT_INPUT, event_handle, NULL);    while(1)        looper->pollOnce(1000);    looper.clear();}===== start a new thread to write message as below ==== char msg=0; int ret; write(mMsgFd,&msg,1);


注意:event_handle 如果返回 0, looper就不再 watch 此 fd 了。 要持续 watch 就返回 1


其他参考:
http://blog.csdn.net/fuyajun01/article/details/38052601
http://wangkuiwu.github.io/2014/08/26/MessageQueue/


更多相关文章

  1. Android(安卓)Gallery组件详解
  2. GLES2.0 on Android(安卓)emulator
  3. Could not load 'clearsilver-jni' java.library.path = out/hos
  4. 【Android开发bug】Dropping event due to no window focus
  5. Android.mk:21: *** 遗漏分隔符
  6. Android(安卓)4.2 原生系统有哪些方法实现全屏下隐藏导航栏?
  7. android4.0 禁止横竖屏切换使用
  8. android 如何调用WPS显示工作文件
  9. Android在Context详细解释 ---- 你不知道Context

随机推荐

  1. Android(安卓)Context 上下文 你必须知道
  2. Android(安卓)RxJava实际应用教学:你该什
  3. Android四大组件:Service史上最全面解析
  4. Android实践之Drawable的使用
  5. Android学习感悟之消息机制
  6. android 通过Application类 共享全局数据
  7. Android(安卓)9.0 (P)
  8. 信息提醒之Notification,兼容全部SDK-更新
  9. android studio将多个module统一放在一个
  10. Android中Layout转成Java代码