Java 如何通过命令提示符暂停和恢复线程用户输入?
如何通过命令提示符暂停和恢复线程用户输入 我想要一个程序,在这个程序中,用户可以从暂停线程的阶段开始运行线程 包装食品 导入java.util.Vector 公共类线程测试{Java 如何通过命令提示符暂停和恢复线程用户输入?,java,Java,如何通过命令提示符暂停和恢复线程用户输入 我想要一个程序,在这个程序中,用户可以从暂停线程的阶段开始运行线程 包装食品 导入java.util.Vector 公共类线程测试{ private Vector<String> threadNames = new Vector<String>(); public static void main(String[] args) { ThreadTest test = new ThreadTest(); tes
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)找到适当的资源来学习和编写自己的解决方案。否则,希望其他人能给你一个更好的答案。如果你能进一步解释你想做什么,这也会有所帮助。(我希望你没有试图序列化线程…)你只是想暂停/恢复部分代码的执行吗?到目前为止,你得到了什么代码,你尝试了什么?我编辑了我的问题并粘贴了我尝试过的代码。。我不知道如何通过控制台中的用户输入来暂停或恢复线程:|实际上我得到的是暂停或恢复程序,但不是用户输入控制