각 watchservice를 구현하는 데몬 그룹을 처리해야합니다. 내가 할 수 있기를 원하는 것은 데몬을 만들고, 활성화하고, 비활성화하고 제거하는 것입니다.데몬 풀 관리
private void activateDaemon(Daemon daemon){
Thread thread = new Thread(){
@Override
public void run(){
daemon.processEvents();
}
};
thread.start();
}
지금이 작동하지만 비활성화 및 제거하려면 : 창조의 순간
나는이 활성화 않습니다. 비활성화하면 processevents가 중지되고 (http://docs.oracle.com/javase/tutorial/essential/io/notification.html과 같은 방법) 스레드를 해지해야합니다. 제거는 데몬을 파괴해야합니다.
스레드 풀을 사용하려고 생각하고 있지만 구현 및 유형을 잘 모르겠습니다. 나는 원하는 데몬의 양을 모르기 때문에 고정 된 쓰레드 풀을 원하지 않는다. 캐쉬 된 쓰레드 풀은 충분하지만, 문서는 "짧은 수명의 많은 작업을 시작하는 응용 프로그램"에만 적합하며 데몬은 오랫동안 실행될 수 있다고합니다.
데몬 그룹 (watchservices)을 안전하게 관리, 활성화 및 비활성화하는 것이 가장 좋은 방법은 무엇입니까?
데몬이 정말로 필요합니까, 아니면 전통적인 Executor에서 실행되는 독립적 인 작업 (처리 된 이벤트에서 생성)을 사용하여 문제를 다시 표현할 수 있습니까? –
데몬은 명명 규칙입니다. 데몬은 감시 서비스가있는 클래스입니다. 혼란을 드려 죄송합니다. – Sven