マルチスレッドのJavaプログラムを作成しようとしましたが、いくつかの問題が発生しましたが、プライマリのマルチスレッドクラスはうまく動作しますが、mainから呼び出すと、すべてのスレッドが開始され、すべてのスレッドが完了するまで移動しないようにする必要があります。読み取りは、渡されたファイルパスが(文字列、文字列)以下Javaマルチスレッドでスレッドが終了するのを待ちます
Thread one = new Thread(new Runnable() {
public void run()
{
System.out.println("Starting thread 1");
read(expiredOneYear, master1);
System.out.println("Finished thread 1");
}
});
Thread two = new Thread(new Runnable() {
public void run()
{
System.out.println("Starting thread 2");
read(expiredOneAndQuarterYear, master2);
System.out.println("Finished thread 2");
}
});
Thread three = new Thread(new Runnable() {
public void run()
{
System.out.println("Starting thread 3");
read(expiredOneAndHalfYear , master3);
System.out.println("Finished thread 3");
}
});
Thread four = new Thread(new Runnable() {
public void run()
{
System.out.println("Starting thread 4");
read(expiredOneAnd3QuarterYear , master4);
System.out.println("Finished thread 4");
}
});
// start threads
one.start();
two.start();
three.start();
four.start();
を読んで取得するメイン
CSVcompare.run(threadCount, mode, fileLocation);
CSVpattern.run(fileLocation);
で何が起こるか私はCSVpattern.runは()それまではCSVcompare.run内のすべてのスレッドを開始したくないです()が終了していなければ、CSVpattern.run()の準備ができているデータはありません
を無視したい場合は
は、あなたが実際に** **たCountDownLatchを必要としますここに。あなたのシナリオは、浦項の使用に完全に合っています。 – vijayraj34