java - 如何在 Java 的 CMD 中同时运行两个类

标签 java

你好,我创建了一个 java 文件,其中包含两个类 TwoClassTwoClass2 在编译时它分别给了我两个类文件,但我必须分别运行每个类文件..我怎样才能做到这一点 ?我的代码如下:我将这个文件保存为TwoClass.java

class TwoClass{
public static void main(String args[])
{
    System.out.println("I am first class");
}}class TwoClass2{
public static void main(String args[])
{
    System.out.println("I am Second class");
}}

编译后它生成TwoClass.classTwoClass2.class 现在如果我想运行这个文件我做如下:

G:\ZPREP>javac TwoClass.java

G:\ZPREP>java TwoClass I am first class

G:\ZPREP>java TwoClass2 I am Second class

G:\ZPREP>

这里完全没有问题,但我必须分别运行每个文件,所以他们可以同时运行两个文件吗???请帮忙。

最佳答案

与其尝试在命令行中执行此操作,不如使用第三个类来运行两个线程,每个类一个,这样您的两个类的 main 方法将使用相同的 args 同时运行;像这样:

class TwoclassMain {

    public static void main(final String ... args) {

        Runnable runnableOne = new Runnable {
            public void run() { TwoClass.main(args); }
        }

        Runnable runnableTwo = new Runnable {
            public void run() { TwoClass2.main(args); }
        }

        Thread one = new Thread(runnableOne);
        Thread two = new Thread(runnableTwo);

        one.start();
        two.start();

        one.join();
        two.join();
    }

}

免责声明:我没有编译和运行这个例子,只是为了展示总体思路。

更新:使用 Java 8 的想法相同:

class TwoclassMain {

    public static void main(final String ... args) {

        Thread one = new Thread(() -> TwoClass.main(args));
        Thread two = new Thread(() -> TwoClass2.main(args));

        one.start();
        two.start();

        one.join();
        two.join();
    }

}

关于java - 如何在 Java 的 CMD 中同时运行两个类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31737623/

相关文章:

c# - 如何在c#中转换java枚举

java - JDom - 对象可以解析为 xml 吗?

java - 开发服务器套接字

java - 在 Eclipse 中运行 JAR "Export"时使用的 shell 命令是什么?

java - 长期存储 JTable 数据的好方法?

java - 如何从Java程序中编译.java文件

java - 找到图中 X 坐标为零的点

java - Swagger core v3的java实现

java - Hibernate 序列生成不适用于复合键的元素

java - 如何对二进制文件进行外部合并排序