我想編寫一個永遠運行的命令行守護進程。我知道,如果我希望JVM能夠在Linux中正常關閉,那麼需要通過一些C代碼來封裝引導程序。我想現在可以關閉掛鉤了。Future.get()是Thread.join()的替代品嗎?
在我的問題:
- 我的主要(字符串[])塊將火過單獨Superdaemon。
- Superdaemon將輪詢和循環永遠。
所以通常我會做的事:
class Superdaemon extends Thread { ... }
class Bootstrap
{
public static void main(String[] args)
{
Thread t = new Superdaemon();
t.start();
t.join();
}
}
現在我想如果我通過一個Executor開始Superdaemon,我可以做
Future<?> f = exec.submit(new Superdaemon());
f.get();
是Future.get()
與實施的Thread.join() ? 如果不是,它的行爲是否等同?
問候,
阿席達卡
問題是像JCIP這樣的書正在倡導我們使用Executors來啓動線程。所以我盡我所能不要使用Thread.start()。我不確定我是否會僅僅基於簡單性選擇一種特定的做事方式。必須有更令人信服的理由,不是嗎? – ashitaka 2009-03-06 03:24:50