0
JDBC SQL 결과의 업데이트를 위해 두 개의 스레드를 생성 한 주 기능이 있습니다. 독점적으로 작업하는 자식 스레드는 무한 루프에 있으며 5 분 후에 결과를 업데이트합니다. 주 스레드를 빠져 나오기 전에, 아이 트레드를 죽여야합니다.주 스레드를 떠나기 전에 안전하게 자식 스레드 (infinte 루프)를 종료합니다.
그 중 가장 좋은 절차는 무엇입니까? 그래서
JDBC SQL 결과의 업데이트를 위해 두 개의 스레드를 생성 한 주 기능이 있습니다. 독점적으로 작업하는 자식 스레드는 무한 루프에 있으며 5 분 후에 결과를 업데이트합니다. 주 스레드를 빠져 나오기 전에, 아이 트레드를 죽여야합니다.주 스레드를 떠나기 전에 안전하게 자식 스레드 (infinte 루프)를 종료합니다.
그 중 가장 좋은 절차는 무엇입니까? 그래서
난 당신의 코드는 다음과 같이 가정 :
class ThreadTask implements Runnable {
public void run() {
while(true) {
...
}
}
}
당신이 할 수있는 것은 플래그 구현할 수 있습니다 :
ThreadTask task = new ThreadTask();
Thread t = new Thread(task);
t.start();
...
task.stopTask();
t.join();
해야합니까 : 메인 스레드에서 다음
을 변수에 잠금을 사용해야합니다 shouldStop –
문제는 없지만 volatile 키워드를 검색했습니다. 그것은 그것을 돌보고 있습니다. 감사합니다. –
@Prannoy Mittal : 코드가 효과가 있습니까? – Tudor