我必須處理一組守護進程,每個守護進程實現一個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