2

現在実行中のスレッドが終了したときに新しいスレッドを起動することは可能ですか? 私がフレームワーク用に書いたコードは、スレッドを開始し、ファイルをロックします (Java 同時ロックではありません)。同じファイルを処理する必要がありますが、フレームワークによって起動されたスレッドによってロックが保持されているため、処理できません。私の要件は、フレームワークによって起動されたスレッドが完了したら、ファイルを処理する新しいスレッドを起動することです

ありがとう、センティル。

4

3 に答える 3

1

Thread.join() メソッドを使用する
を参照

ドキュメントを参照

于 2013-02-06T12:02:25.120 に答える
0

別のスレッドの最後で 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();
    }
}
于 2013-11-24T20:51:06.240 に答える
0

あなたの基本的なコード構造は彼のようであるべきです

public void run(){
//prepare
synchronized{
//Access File
}
//non-trivial statements
}
于 2013-02-06T12:01:32.883 に答える