-2
私はループを10回実行するfor
ループを使用しています。各イテレーションドライバでは異なるURLに移動し、10回のダウンロードをすべて完了するのに4分かかったファイルを読み込みます。私はfor
ループでマルチスレッドを実装できるかどうか疑問に思っていたので、ダウンロードプロセスを実行するたびに異なるスレッドを開始します。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();
}
ようこそスタックオーバーフロー。サイトのルールと[HOw to ask](http://stackoverflow.com/help/how-to-ask)もお読みください。ここでの質問に直接答えは出ません。コードを書いてください。もしあなたがそれに悩まされたら、我々はあなたのためにそれを解決するためにここにいます。 – progyammer
はい、できます。それぞれの反復で新しい 'Thread'を作成し、特定のジョブを実行する' Runnable'を提供し、スレッドを開始し、すべてのスレッドオブジェクトをコレクションに格納し、ループの後に、保存されたすべてのスレッドが終了するまで待ちます。 – JimmyB
または、[ExecutorService'](https://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ExecutorService.html)または同様のものを使用してください。 – JimmyB