我有一个应用程序,它必须通过从远程数据库添加元数据来处理 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/