【发布时间】:2012-02-27 06:23:13
【问题描述】:
我有一个带有HandlerThread 的方法。 Thread 内部的值被更改,我想将其返回给 test() 方法。有没有办法做到这一点?
public void test()
{
Thread uiThread = new HandlerThread("UIHandler"){
public synchronized void run(){
int value;
value = 2; //To be returned to test()
}
};
uiThread.start();
}
【问题讨论】:
-
如果主线程必须等待处理线程完成才能从方法返回,为什么要首先使用处理线程?
-
@JBNizet 我没有包括线程实际执行的复杂性。它正在获取 gps 坐标,所以是的,我确实需要一个线程。
-
不管线程的复杂程度如何,如果启动它的线程在启动它后立即等待它的结果,那么启动不同的线程是没有意义的:启动线程将被阻塞,就好像它自己做的。
-
@JBNizet 我不太清楚你的意思..你介意用不同的方式解释吗?
-
一个线程用于能够在后台执行某事,并能够在后台线程执行时执行其他操作。如果你启动一个线程,然后立即阻塞,直到线程停止,你可以自己完成线程完成的任务,它不会有任何区别,只是它会简单得多。
标签: java android multithreading