我必须处理一组守护进程,每个守护进程实现一个watchservice。 我想要做的就是创建守护进程,激活它们,停用并移除。管理一个守护进程线程池
在在创建此刻我这样做是为了激活:
private void activateDaemon(Daemon daemon){
Thread thread = new Thread(){
@Override
public void run(){
daemon.processEvents();
}
};
thread.start();
}
现在这个工作,但如果我要停用并删除它们。停用停止进程事件(与http://docs.oracle.com/javase/tutorial/essential/io/notification.html中的方法相同)并且应该释放该线程。删除应该破坏守护进程。
我正在考虑使用线程池,但我不确定实现和类型。我不想要一个固定的线程池,因为我不知道需要的守护进程的数量。一个缓存线程池似乎是足够的,但文档告诉我它只适用于“启动许多短期任务的应用程序”,而守护进程可能会运行很长时间。
我该如何最好地去安全地管理,激活和关闭一组守护进程(watchservices)?
您是否真的需要守护进程,或者您可以使用在传统执行程序中执行的独立任务(从处理的事件生成)重新解释您的问题? –
守护进程只是一个命名约定。守护进程是一个有watchservice的类,没有什么比这更少的了。对困惑感到抱歉。 – Sven