觉得这里设计有问题
可能问题和解决1,不该用springTaskExecutor:,后面用的taskExecutor和Future是更高级的工具,导致原始线程和高级并行管理混用混乱了。设计上可以去掉springTaskExecutor和Runnable这一层,直接使用future返回。改设计是最直接理想的。
可能问题和解决2,不同线程的返回值,可以另外呼叫一个方法,实现异步
比如if...{
onRecievingResult(result); //结果统一放在另一接收方法内处理
return;
}else if......{
/函数中...
springTaskExecutor.execute(new Runnable(){
public void run (){
Boolean result=future.get();//返回结果
onRecievingResult(result); //结果统一放在另一接收方法内处理
}
});
return ;//不在执行,跳出函数
}
public void onRecievingResult(Boolean result){ //另外的处理方法。
//处理
}