現在実行中のスレッドが終了したときに新しいスレッドを起動することは可能ですか? 私がフレームワーク用に書いたコードは、スレッドを開始し、ファイルをロックします (Java 同時ロックではありません)。同じファイルを処理する必要がありますが、フレームワークによって起動されたスレッドによってロックが保持されているため、処理できません。私の要件は、フレームワークによって起動されたスレッドが完了したら、ファイルを処理する新しいスレッドを起動することです
ありがとう、センティル。
現在実行中のスレッドが終了したときに新しいスレッドを起動することは可能ですか? 私がフレームワーク用に書いたコードは、スレッドを開始し、ファイルをロックします (Java 同時ロックではありません)。同じファイルを処理する必要がありますが、フレームワークによって起動されたスレッドによってロックが保持されているため、処理できません。私の要件は、フレームワークによって起動されたスレッドが完了したら、ファイルを処理する新しいスレッドを起動することです
ありがとう、センティル。
別のスレッドの最後で 2 番目のスレッドを起動する例を次に示します。
public class TwoThreads {
public static void main(String[] args) {
class SecondThread implements Runnable {
@Override
public void run() {
System.out.println("Start of second thread");
try {
Thread.sleep(2000);
} catch (InterruptedException e) { }
System.out.println("End of second thread");
}
}
class FirstThread implements Runnable {
@Override
public void run() {
System.out.println("Start of first thread");
try {
Thread.sleep(1000);
} catch (InterruptedException e) { }
// Second thread gets launched here
new Thread(new SecondThread()).start();
System.out.println("End of first thread");
}
}
new Thread(new FirstThread()).start();
}
}
あなたの基本的なコード構造は彼のようであるべきです
public void run(){
//prepare
synchronized{
//Access File
}
//non-trivial statements
}