如何在单个(不同)运行时中运行每个Thread进程?

时间:2014-07-18 06:01:28

标签: java runtime

当我运行以下程序时,为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();
    }

1 个答案:

答案 0 :(得分:2)

如果没有将每个线程放在不同的进程中,就不能让线程处于不同的运行时,因为这违反了线程的定义。

您想要的是创建多个流程

根据定义,线程在一个进程中进行。 (或单个运行时) 差异描述在这里: What is the difference between a process and a thread?

答案显示在这里: How to create a process in Java