这是一个一般的 Java 问题,而不是 Android 问题!
我想知道如何从辅助线程的上下文中在主线程上运行代码。例如:
new Thread(new Runnable() {
public void run() {
//work out pi to 1,000 DP (takes a while!)
//print the result on the main thread
}
}).start();
那种事情——我意识到我的例子有点糟糕,因为在 Java 中你不需要在主线程中打印一些东西,而且 Swing 也有一个事件队列——但是你可能需要的一般情况在后台线程的上下文中运行主线程上的 Runnable。
编辑:为了比较 - 这是我在 Objective-C 中的做法:
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0UL), ^{
//do background thread stuff
dispatch_async(dispatch_get_main_queue(), ^{
//update UI
});
});
提前致谢!