当前正在运行的线程退出时是否可以启动新线程? 我为框架编写的代码启动了一个线程,它锁定(不是java并发锁)文件。 我需要处理相同的文件,但由于线程持有锁,我无法这样做 由框架发起。我的要求是启动一个处理文件的新线程 一旦框架启动的线程完成
谢谢, 塞特希。
答案 0 :(得分:1)
使用Thread.join()方法
请参阅Example
答案 1 :(得分:0)
您的基本代码结构应该像他的
public void run(){
//prepare
synchronized{
//Access File
}
//non-trivial statements
}
答案 2 :(得分: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();
}
}