在次要线程上运行代码时,是否可以在主线程上运行?
- 论坛
- 在次要线程上运行代码时,是否可以在主线程上运行?
10 浏览
在次要线程上运行代码时,是否可以在主线程上运行?
首先,这是一个关于Java的一般问题,而不是关于Android的问题!
我想知道如何在次要线程的上下文中在主线程上运行代码。例如:
new Thread(new Runnable() { public void run() { //计算出1000个小数位的π(需要一段时间!) //在主线程上打印结果 } }).start();
就是这样的情况-我意识到我的例子有点不太好,因为在Java中你不需要在主线程中打印出东西,而且Swing也有事件队列-但是在背景线程的上下文中可能需要在主线程上运行某个Runnable的一般情况。
编辑:作为对比-这是我在Objective-C中如何做的:
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0UL), ^{ //在后台线程执行一些任务 dispatch_async(dispatch_get_main_queue(), ^{ //更新UI }); });
提前感谢!