原来handler的MessageQueue的底层居然不是队列,而是单链表…

您所在的位置:网站首页 dscdna是单链吗 原来handler的MessageQueue的底层居然不是队列,而是单链表…

原来handler的MessageQueue的底层居然不是队列,而是单链表…

2024-07-16 05:48| 来源: 网络整理| 查看: 265

今天面试官问我,messageQueue的底层是什么,我就脱口而出是队列,每次都从头取走msg,就真的以为是先进先出的队列,面试官还反问我,再想一下,是队列还是链表,然后我说不是队列吗,他让我下去再看一下

boolean enqueueMessage(Message msg, long when) { ... ...//省略 synchronized (this) { if (mQuitting) {//如果中止了,直接返回 IllegalStateException e = new IllegalStateException( msg.target + " sending message to a Handler on a dead thread"); Log.w(TAG, e.getMessage(), e); msg.recycle(); return false; } msg.markInUse(); msg.when = when; Message p = mMessages; boolean needWake; if (p == null || when == 0 || when


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3