0
3 가지 스레드를 통해 메서드 호출을 반복하려고합니다. 내 루프의 다음 반복 동안 내 스레드를 시작한 후, 그들은 모두 아무것도 실행되지 않습니다 그래서 종료됩니다 ... 코드는 다음과 같다 : 내 스레드가 종료되는 이유는 무엇입니까?
public static void main(String[] args) {
main = new Main();
pollingThread.start();
}
static Thread pollingThread = new Thread() {
@Override
public void run() {
while (isRunning) {
main.poll();
// test the state of the threads
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
};
};
public void poll() {
if (clientThread == null) {
clientThread = new Thread(new Runnable() {
@Override
public void run() {
//create some objects
}
});
clientThread.start();
}
else if (clientThread.isAlive()) {
// do some treatment
}
if (gestionnaireThread == null) {
gestionnaireThread = new Thread(new Runnable() {
@Override
public void run() {
//create some objects
};
});
gestionnaireThread.start();
}
else if (gestionnaireThread.isAlive()) {
// do some treatment
}
if (marchandThread == null) {
marchandThread = new Thread(new Runnable() {
@Override
public void run() {
// create some objects
};
});
marchandThread.start();
}
else if (marchandThread.isAlive()) {
// do some treatment
}
}
그리고 어떤 이유로
, 나는 상태를 테스트 할 때 내 다른 스레드의, 그들은 runnable로 나타나고 두 번째 반복, 그들은 모두 종료됩니다 ... 내가 뭘 잘못하고있어? 실제로 오류가 없지만 스레드가 종료되어 루프가 반복되어 스레드가 종료된다는 메시지가 표시됩니다.
실제로 이것은 많은 도움이됩니다. 이제 스레드가 아닌 다른 문제가 생겼습니다. 빠른 답변 주셔서 감사합니다. – Sephy