我正在使用可调用函数在单独的线程中运行。但是当我调用 futAdd.get()
我的代码是
Callable<Double[]> calAdd = new addCallable(values,values_2);
ExecutorService exec = Executors.newFixedThreadPool( 3 );
Future<Double[]> futAdd = exec.submit( calAdd );
try {
Double[] ans = futAdd.get();
}
catch(Exception e){
//
}
为什么应用程序在单独的线程上运行时会卡住?
最佳答案
UI 已被卡住,因为线程中有太多工作,您可以执行下一个
val thread = Thread(Runnable {
Callable<Double[]> calAdd = new addCallable(values,values_2);
ExecutorService exec = Executors.newFixedThreadPool( 3 );
Future<Double[]> futAdd = exec.submit( calAdd );
try {
Double[] ans = futAdd.get();
}
catch(Exception e){
//
}
})
thread.start()
//如果想等待结果就可以等待结果,
thread.join();
关于java - Android - Future.get() 使 UI 卡住,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62362001/