Java 如何通过命令提示符暂停和恢复线程用户输入?

Java 如何通过命令提示符暂停和恢复线程用户输入?,java,Java,如何通过命令提示符暂停和恢复线程用户输入 我想要一个程序,在这个程序中,用户可以从暂停线程的阶段开始运行线程 包装食品 导入java.util.Vector 公共类线程测试{ private Vector<String> threadNames = new Vector<String>(); public static void main(String[] args) { ThreadTest test = new ThreadTest(); tes

如何通过命令提示符暂停和恢复线程用户输入

我想要一个程序,在这个程序中,用户可以从暂停线程的阶段开始运行线程

包装食品

导入java.util.Vector

公共类线程测试{

private Vector<String> threadNames = new Vector<String>();

public static void main(String[] args) {

    ThreadTest test = new ThreadTest();

    test.threadTest(Integer.parseInt(args[0]));

    System.out.println(test.threadNames);

}

private void threadTest(int numOfThreads) {

    Thread[] threads = new Thread[numOfThreads];

    for (int i = 0; i < threads.length; i++) {

        threads[i] = new foo.ThreadTest.MyThread();

        threads[i].start();

    }

    for (int i = 0; i < threads.length; i++) {

        try {

            threads[i].join();

        } catch (InterruptedException ignore) {}

    }

}

class MyThread extends Thread {

    public void run() {

        for (int i = 0; i < 1000000; i++) {

            i = i + 0;

        }

        threadNames.add(getName());

    }

}
private Vector threadNames=new Vector();
公共静态void main(字符串[]args){
螺纹测试=新螺纹测试();
test.threadTest(Integer.parseInt(args[0]);
System.out.println(test.threadNames);
}
私有void threadTest(int numOfThreads){
线程[]线程=新线程[numOfThreads];
对于(int i=0;i

}您有许多选择。所有这些都需要某种形式的帮助。最好的方法可能是基于

特别是,请查看(JMX)上可用的所有内容。现在,这并没有提供您想要的确切函数,但是您可以编写自己的函数来提供所需的扩展函数

此外,JMX通常是通过类似jconsole的东西访问的,jconsole是基于GUI的。但是,JMX只是一个API,您可以编写自己的基于控制台的客户端,通过CLI公开所需的功能


另请参见:

您可以用两个线程相当简单地解决这个问题

  • 线程1负责监听用户输入。在某些用户输入上,它将挂起或恢复线程2
  • 线程2将负责您希望能够完成的任何任务 暂停并恢复

您可能还想看一下。

我可以得到一些代码吗?我是java新手。。这将是有帮助的,因为meI不能在这里花时间为您提供完整的解决方案,但我提供的详细信息应该有助于您提供足够的信息,以便正确地a)搜索现有的解决方案,或B)找到适当的资源来学习和编写自己的解决方案。否则,希望其他人能给你一个更好的答案。如果你能进一步解释你想做什么,这也会有所帮助。(我希望你没有试图序列化线程…)你只是想暂停/恢复部分代码的执行吗?到目前为止,你得到了什么代码,你尝试了什么?我编辑了我的问题并粘贴了我尝试过的代码。。我不知道如何通过控制台中的用户输入来暂停或恢复线程:|实际上我得到的是暂停或恢复程序,但不是用户输入控制