Chcę napisać demona wiersza poleceń, który działa wiecznie. Rozumiem, że jeśli chcę, aby JVM mogła bezpiecznie zamknąć się w Linuksie, trzeba zawinąć bootstrap za pomocą jakiegoś kodu C. Myślę, że na razie będę w porządku z hakiem wyłączającym.Czy Future.get() jest zamiennikiem Thread.join()?
do mojego pytania:
- Mój główny ([] String) blok będzie wystrzelić oddzielny superdemonem.
- Superdaemon będzie odpytywać i zapętlać na zawsze.
Więc normalnie bym zrobił:
class Superdaemon extends Thread { ... }
class Bootstrap
{
public static void main(String[] args)
{
Thread t = new Superdaemon();
t.start();
t.join();
}
}
Teraz pomyślałem, że gdybym zaczął superdemonem pośrednictwem Wykonawcy, mogę zrobić
Future<?> f = exec.submit(new Superdaemon());
f.get();
Czy Future.get()
realizowane z Thread.join() ? Jeśli nie, czy zachowuje się równoważnie?
Pozdrawiam,
Ashitaka
Problem polega na tym, że książki takie jak JCIP opowiadają się za użyciem Executorów do uruchamiania wątków. Więc staram się nie używać Thread.start(). Nie jestem pewien, czy koniecznie wybrałbym konkretny sposób robienia rzeczy w oparciu o prostotę. Musi być bardziej przekonujący powód, nie? – ashitaka