如何确保在Android的特定线程中执行方法?

时间:2013-12-24 06:58:48

标签: android multithreading chromium

Chromium代码基础结构提供了一个很棒的调试API,有助于确保在预期的线程中执行函数,例如

https://code.google.com/p/chromium/codesearch#chromium/src/remoting/host/local_input_monitor_win.cc&q=belongstocurrent&sq=package:chromium&type=cs&l=125

DCHECK(ui_task_runner_->BelongsToCurrentThread());

BelongsToCurrentThread()将确保当前函数在ui线程循环中执行,否则它将在这里崩溃。

我的问题是:Android中有没有类似的方法可以帮助程序员在函数上实施这样的调试策略?

2 个答案:

答案 0 :(得分:1)

通常,您可以检查Thread.currentThread().getId()以查看当前线程是否是预期的线程。

具体关于UI线程,您可以检查

Looper.myLooper() == Looper.getMainLooper()

答案 1 :(得分:0)

您可以使用runOnUiThread()确保它在UI线程上运行。