Voglio scrivere un demone da riga di comando che gira per sempre. Capisco che se voglio che la JVM sia in grado di spegnersi con grazia in linux, è necessario avvolgere il bootstrap tramite un codice C. Penso che per ora sarò d'accordo con un gancio di chiusura.È Future.get() un sostituto per Thread.join()?
On alle mie domande:
- mio principale ([] String) blocco scatterà fuori un superdemone separata.
- Il SuperDemon eseguirà il polling e il ciclo continuo.
Così normalmente vorrei fare:
class Superdaemon extends Thread { ... }
class Bootstrap
{
public static void main(String[] args)
{
Thread t = new Superdaemon();
t.start();
t.join();
}
}
Ora ho pensato che se ho iniziato superdemone tramite un esecutore, posso fare
Future<?> f = exec.submit(new Superdaemon());
f.get();
È Future.get()
implementato con Thread.join() ? In caso contrario, si comporta in modo equivalente?
saluti,
Ashitaka
Il problema è che libri come JCIP stanno sostenendo che usiamo Executors per avviare Threads. Quindi sto facendo del mio meglio per non utilizzare Thread.start(). Non sono sicuro di dover necessariamente scegliere un modo particolare di fare le cose semplicemente sulla base della semplicità. Ci deve essere una ragione più convincente, no? – ashitaka