当我运行以下程序时,为Windows任务管理器中的所有线程运行一个javaw.exe。 但是想将每个Thread运行到单独的javaw.exe(Runtime)中。 此外,应该在Thread进程结束时终止javaw.exe。 怎么做?
public class Task extends Thread {
String name;
public Task(String name) {
this.name = name;
}
@Override
public void run() {
System.out.println("Started: " + name);
try {
if (name.equals("A")) {
sleep(3000);
} else if (name.equals("B")) {
sleep(6000);
} else if (name.equals("C")) {
sleep(9000);
}
} catch (Exception e) {
e.printStackTrace();
}
System.out.println("Completed: " + name);
}
public static void main(String[] args) {
new Task("A").start();
new Task("B").start();
new Task("C").start();
}
答案 0 :(得分:2)
如果没有将每个线程放在不同的进程中,就不能让线程处于不同的运行时,因为这违反了线程的定义。
您想要的是创建多个流程
根据定义,线程在一个进程中进行。 (或单个运行时) 差异描述在这里: What is the difference between a process and a thread?
答案显示在这里: How to create a process in Java