【发布时间】:2014-05-07 22:37:33
【问题描述】:
我刚刚看到了三种方法的文档,当我们在工作线程中工作时,这些方法可用于在 UI 线程中执行一段代码。方法有:
public final void runOnUIThread(Runnable action) - 在 UI 线程上运行指定的操作。如果当前线程是 UI 线程,则立即执行该操作。如果当前线程不是UI线程,则将动作发布到UI线程的事件队列中
public boolean post(Runnable action) - 将 Runnable 添加到消息队列中。 runnable 将在用户界面线程上运行。
public boolean postDelayed(Runnable action, long delayMillis) - 将 Runnable 添加到消息队列中,在指定的时间过去后运行。 runnable 将在用户界面线程上运行。
第一个将 Runnable 发布到 UI 线程的事件队列,而另外两个将 Runnable 添加到消息队列。请告诉我这两者的区别?
我的网络搜索告诉我,事件队列只是等待由线程执行的事件队列。我不清楚消息队列。 MessageQueue 也是一个类,和那个有关系吗?
提前谢谢你。
【问题讨论】:
标签: android multithreading message message-queue