java - 使用多线程 Java
问题描述
我正在使用parseDocument(doc)
. 解析所有表需要几个小时,所以我想使用线程同时解析很多表,但不知道该怎么做。
下面的代码是我需要在其上使用线程的 for 循环:
for(int i = 0; i < urlList.size(); i++) {
Document doc = Jsoup.connect(urlList.get(i)).get();
reader.add(parseDocument(doc));
}
解决方案
for(int i = 0; i < urlList.size(); i++) {
Thread t = new Thread(new Runnable() {
public void run() {
try {
//parsedocument( urlList.get(i))
} catch (Exception e) { //Catching exeptions
e.printStackTrace();
}
}
});
t.start();
}
我们创建了一个可以使用的名为 't' 的线程变量。例如,可以使用 .Join() 等待它完成。一个线程需要一个 run void 来执行实际操作,这是因为它使用了一个叫做“runnable”的东西,它是一个需要 Run 方法的接口。在这里,您将解析文档。最后,我们通过调用 t.start() 来启动线程。
推荐阅读
- javascript - 如何将git文件合并到一个目录中并将文件添加到暂存区
- python - 更改上一行的时间
- ios - 如何将日期 JSON 解码为 Swift 模型?
- android - Google OAuth 登录卡住加载同意屏幕
- python - ValueError:numpy.ndarray 大小已更改,可能表示二进制不兼容
- python - 关于要求编写团队和积分,保存并显示结果的程序(Python)
- c# - Socket.IO 事件未触发(Node/C#)
- python - Python字典,基本键值问题
- r - 使用列名删除 R 矩阵中的列 - 与顺序无关
- php - 显示上一次迭代的值的数组