명령 프롬프트를 통해 스레드 사용자 입력을 일시 중단하고 다시 시작하는 방법은 무엇입니까?명령 프롬프트를 통해 스레드 사용자 입력을 일시 중단하고 다시 시작하는 방법은 무엇입니까?
사용자가 일시 중지하여 스레드를 정지 한 상태에서 스레드를 실행할 수있는 프로그램을 원합니다.
패키지 foo;
import java.util.Vector;
공용 클래스 ThreadTest로 {
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());
}
}
}
당신이하고 싶은 것을 더 설명 할 수 있다면 도움이 될 것입니다. (스레드를 직렬화하려고하지 않았 으면 좋겠다.) 코드의 일부를 일시 중지/다시 실행하고 싶습니까? – ziesemer
지금까지 어떤 코드를 가지고 있었습니까? 무엇을 시도 했습니까? –
나는 내 질문을 편집하고 내가 시도한 코드를 붙여 넣었다. 콘솔에서 사용자 입력에 의해 쓰레드를 일시 중단하거나 재개하는 방법을 모른다. – Aritra