【发布时间】:2013-01-16 10:24:02
【问题描述】:
我创建了空白项目并尝试执行下一个代码。不幸的是我遇到了问题: 未完成我的线程时未加载主要活动。如果不使用线程的返回值一切正常。 很遗憾 最终的 ExecutorService 服务; 最终的未来任务;
service = Executors.newFixedThreadPool(1);
task = service.submit(new Foo());
try
{
final String str;
// waits the 10 seconds for the Callable.call to finish.
str = task.get();
Log.d("VSK",str);
}
catch(final InterruptedException ex)
{
ex.printStackTrace();
}
catch(final ExecutionException ex)
{
ex.printStackTrace();
}
service.shutdownNow();
}
class Foo
implements Callable<String>
{
public String call()
{
try
{
// sleep for 10 seconds
Thread.sleep(10 * 1000);
}
catch(final InterruptedException ex)
{
ex.printStackTrace();
}
return ("Hello, World!");
}
}
【问题讨论】:
-
我不明白你在问什么。看来你正在阻塞一个线程,可能是 ui 线程?
-
休眠当前线程
Thread.currentThread().sleep(10 * 1000);
标签: java android multithreading