从Java线程返回值

从Java线程返回值,第1张

从Java线程返回值

如果要在执行数据库更新之前收集所有结果,则可以使用该

invokeAll
方法。如daveb建议的那样,如果您一次提交一项任务,则可以完成簿记工作。

private static final ExecutorService workers = Executors.newCachedThreadPool();...Collection<Callable<User>> tasks = new ArrayList<Callable<User>>();for (final String id : ids) {  tasks.add(new Callable<User>()  {    public User call()      throws Exception    {      return svc.getUser(id);    }  });}List<Future<User>> results = workers.invokeAll(tasks, 10, TimeUnit.SECONDS);for (Future<User> f : results) {  User user = f.get();    ...}...


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5615727.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存