java - 如何在 Java 中启动两个带锁的内联线程?

标签 java multithreading

我有一个应用程序,它必须通过从远程数据库添加元数据来处理 XML 文件。由于我在 Java 中打开和解析它们,我认为线程可能会提高性能(通过在我的应用程序等待来自 DB 的响应时处理文档)。

假设我有两种方法:

HashMap result = getMetadata(String id);
Document doc = loadDocument(String path);

我想同时开始并等待两者完成。我可以在线执行此操作吗?

问候, 迈克尔

最佳答案

I would like to start both simultaneously and wait for both to finish. Can I do this inline?

您可以启动两个线程并使用 join() 等待它们完成。

如果你想获得两个任务的结果,你可以使用一个 ExecutorService 并给它一个 Callable。稍后,您可以 future.get() 在当前线程完成时获取结果。

关于java - 如何在 Java 中启动两个带锁的内联线程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8534482/

相关文章:

java - Spring 启动部署

java - 如何构建一个可以发布数字的 REST 计算器?

java - HttpURLConnection 实现中的 "Socket sharing"

javascript - 在 Meteor 中关闭文件监视

java - 无法在线程中运行 wait() 方法?

ruby - jRuby 线程——我做的对吗?

java - 为什么这段Java代码没有并发运行

c# - LINQ 可枚举线程

java - 什么是NullPointerException,我该如何解决?

java - java中StringBuilder.append()的时间复杂度是多少?