当前运行的线程退出时是否可以启动新线程?我为框架编写的代码启动了一个线程并锁定(不是 java 并发锁定)一个文件。我需要处理同一个文件,但我不能这样做,因为锁是由框架启动的线程持有的。我的要求是在框架启动的线程完成后启动一个新线程来处理文件
谢谢,森希尔。
当前运行的线程退出时是否可以启动新线程?我为框架编写的代码启动了一个线程并锁定(不是 java 并发锁定)一个文件。我需要处理同一个文件,但我不能这样做,因为锁是由框架启动的线程持有的。我的要求是在框架启动的线程完成后启动一个新线程来处理文件
谢谢,森希尔。
这是一个在另一个线程结束时启动第二个线程的示例:
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
}