【发布时间】:2017-09-26 12:07:58
【问题描述】:
我正在使用一个运行 10 次的 for 循环,并且在每次迭代中,驱动程序移动到不同的 URL 并加载一个文件,这需要 4 分钟才能完成所有 10 次下载。我想知道我是否可以在for 循环中实现多线程,以便它为每次迭代启动一个不同的线程来执行下载过程。
for(int i=1;i<=10;i++) {
WebDriver driver = new ChromeDriver(setChromePref(URL[i]));
obj_SjStrore = new SjStrore(driver);
driver.click.findelements(By.xpath("xpath string").click;
driver.close();
}
【问题讨论】:
-
欢迎来到 Stack Overflow。请阅读网站规则,以及:HOw to ask。你不会在这里得到问题的直接答案;编写代码,如果您遇到问题,我们会为您解决。
-
是的,你可以。您在每次迭代中创建一个新的
Thread,为每个人提供一个Runnable来完成某项工作,启动线程,将所有线程对象存储在某个集合中,然后在循环之后等待所有存储的线程完成. -
或者,使用
ExecutorService或类似的东西。
标签: java multithreading loops selenium for-loop