2

当前运行的线程退出时是否可以启动新线程?我为框架编写的代码启动了一个线程并锁定(不是 java 并发锁定)一个文件。我需要处理同一个文件,但我不能这样做,因为锁是由框架启动的线程持有的。我的要求是在框架启动的线程完成后启动一个新线程来处理文件

谢谢,森希尔。

4

3 回答 3

1

使用 Thread.join() 方法
参考示例

参考文档

于 2013-02-06T12:02:25.120 回答
0

这是一个在另一个线程结束时启动第二个线程的示例:

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 回答