Salve a tutti avrei un poco di questioni riguardo i thread ( ho visto che ci sono parecchie discussioni riguardanti i thread, ma non sono riuscito a trovare le risposte alle mie domande... forse troppo banali
Come prima cosa l'applicazione che mi da problemi consiste di due thread separati uno che rimane in ascolto ( thread main ) l'altro che lancia tramite reflection un altro programma esterno. Il codice per la creazione del thread figlio è il seguente:
ora con questo codice ho alcuni problemini:codice:public class LauncherImpl implements Launcher, Runnable { private String targetClass; private volatile Thread t; public LauncherImpl() { t = new Thread(this, "TargetApplication"); } public void run() throws InitializationException { // qui lancio l'altro programma tramite reflection } public void start(String targetClass) throws InitializationException { this.targetClass = targetClass; t.start(); } public void stop() throws InitializationException { t = null; } }
1) se crasha il programma che richiamo sul thread figlio tramite reflection crasha anche il thread principale e quindi tutta l'applicazione
2) se invoco il metodo stop() l'applicazione lanciata sul thread tramite reflection continua ad esistere ed invece vorrei che terminasse ( ma solo l'applicazione target )
3) esiste un modo per richiamare il thread figlio senza passare l'istanza dell'oggetto da una parte ad una altra delle classi?
grazie a tutti per l'aiuto


Rispondi quotando