采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
老师,有几个场景不太懂,想请教下; 假设场景: 1、如果主线程此时looper循环因为MessageQueue中消息为空而阻塞住了,此时主线程休眠了;如果此时Actitity(可理解为客户端)拿主线程的handler 可以再往队列里再入队一个消息,从而唤醒主线程么?(主线程自己唤醒自己)
2、如果主线程休眠是必须由别的线程唤醒,能举一个关于主线程因为消息为空而休眠,被binder线程唤醒的例子么?
您好,第一个问题,主线程如果已经休眠了,只能通过别的线程来唤醒了,自己是没法唤醒自己的
第二个问题,比如你点了一个按钮,系统给事件分发到App进程,这就涉及到跨进程通信,主线程被binder线程唤醒了
谢谢老师
请问如果是延时任务造成的阻塞,超时被唤醒,请问里面的原理是:这里的阻塞也是进入休眠状态,由其他线程唤醒的吗? 如果是其他线程唤醒的话,里面的超时机制是怎样的?
这里不是其他线程唤醒的,而是在阻塞的时候就算好一个超时时间,到时间就返回了。
登录后可查看更多问答,登录/注册
一手助力冲刺Android高级职位,一手把握系统底层原理,理清面试思路,提升技术段位
2.8k 4
791 16
783 8
1.1k 8
1.3k 7