java - 同时调用多个返回返回对象的方法
问题描述
调用多个方法,我想同时调用它们,应该等待彼此完成。
else {
PricingFromS4Request pricingRequest = new PricingFromS4Request();
ProductFromS4Request productRequest = new ProductFromS4Request();
PricingFromS4ServiceImpl service = new PricingFromS4ServiceImpl();
//Create 1 thread for below line
pricingRequest = service.createS4PricingRequest(ABeanObject, SomeArrayList);
//Create 1 more thread for below line
productRequest = service.createS4ProductRequest(SomeList);
//Send pricingRequest and productRequest into another method
SomeMethod(pricingRequest,productRequest);
}
无法将两行放在线程内
解决方案
在 Java 7 中,这将是一个选项:
PricingFromS4Request pricingRequest = new PricingFromS4Request();
ProductFromS4Request productRequest = new ProductFromS4Request();
PricingFromS4ServiceImpl service = new PricingFromS4ServiceImpl();
ExecutorService executor = Executors.newFixedThreadPool(2);
Future<PricingFromS4Request> f1 = executor.submit(new Callable<PricingFromS4Request >() {
public PricingFromS4Request call() {
return service.createS4PricingRequest(ABeanObject, SomeArrayList);
}
});
Future<ProductFromS4Request> f2 = executor.submit(new Callable<ProductFromS4Request>() {
public ProductFromS4Request call() {
return service.createS4ProductRequest(SomeList);
}
});
SomeMethod(f1.get(), f2.get());
executor.shutdown();
推荐阅读
- javascript - 我在 npm 加载模块时遇到问题
- java - 使用 Spring Data R2DBC 查找/修改/保存或 Upsert
- android - 运行 npx react-native doctor 时未找到 Android 版本
- angular - 如何给 mat-select 选项一个动态对象键作为值?
- javascript - 在 React js 中出现按钮点击棒模式警告(在 StrictMode 中不推荐使用 findDOMNode)问题?
- python - 未使用 PIL 自定义字体替代字形
- r - 在 R 中使用 EUC-KR 文本编码读取文件
- python - 在管理页面中自定义模型的每一行
- python-3.x - 第一次运行 gekko 时,出现此错误“无法从 werkzeug.http 导入名称 'dump_csp_header'
- javascript - Imagepicker React Native 在 iOS 上崩溃但在 Android 上运行良好