메인 클래스에 다른 실행 가능한 클래스에 대한 스레드 실행 프로그램을 설정하는 응용 프로그램이 있지만 기본 클래스의 업데이트 메소드를 정기적으로 호출하여 원하는대로 만들 수 있습니다. 아래 예와 같은 쓰레드 또는 그 안에 선언 된 쓰레드 실행자에게 클래스를 제출하십시오 (예제 아래의 예와 같습니다)?Java Thread Executor 기본 클래스 제출
스레드 실행기와 시작 표준 스레드의 혼합을 사용하면 문제가 발생합니다.
메인 클래스 업데이트에 표준 스레드 호출을 사용 하시겠습니까?
공용 클래스 테스트 {
private ScheduledExecutorService scheduledThreadPool; //used for creating other threads
private Thread t;
public Test() {
t = new Thread() {
@Override
public void run() {
try {
while (true) {
processUpdates();
Thread.sleep(10);
}
} catch (InterruptedException e) {
logger.error(e);
}
}
};
}
private void processUpdates() {
//do some stuff
}
}
하거나 다른 실행 가능한 클래스 있지만, 메인 클래스 자체를하지 않는 스레드 집행을 사용할 수 있습니까?
공용 클래스 테스트는 실행 가능한 {
ScheduledExecutorService scheduledThreadPool = Executors.newScheduledThreadPool(3);
public Test() {
scheduledThreadPool.scheduleWithFixedDelay(this, 0, 10, TimeUnit.MILLISECONDS);
}
@ Override
public void run() {
processUpdates();
}
private void processUpdates() {
//do some stuff
}
}
감사 구현!
그래서 메인 클래스를 쓰레드 풀에 제출하는 것은 괜찮습니다. – user3469157
예 @ user3469157, 이것이 좋습니다. 질문이 있으면 스레드를 내부 클래스로 옮기거나'main()'메서드를 사용하여 클래스에서 멀리 떨어진 외부 클래스로 꺼내야합니다. – Gray