PDA

View Full Version : [JAVA] chiamare main da altra classe


nadiel
05-03-2009, 14:57
Iscritto dal: Mar 2009
Messaggi: 1

JAVA: chiamare main da altra classe
Ciao!
Ho questo problema: so che posso chiamare il main di una classe da un'altra classe, solo che vorrei che questo non fosse bloccante. Mi spiego:

public class ClasseUno {

public static void main(String[] args){
....
}
}

public class ClasseStarter{

public static void main(String[] args) {
for(int i=0; i<10; i++)
String[] argomenti = new String[2];
arg[0] = "uno";
arg[1] = "due";
ClasseUno.main(argomenti);

}

}


Quando chiamo ClasseUno.main(argomenti) tutto si blocca in attesa che l'esecuzione di questo main si concluda; io invece vorrei far partire pił processi contemporaneamente e che siano in esecuzione contemporaneamente.
Non posso usare i Thread per altri motivi...


grazie

fero86
05-03-2009, 15:01
ti ho risposto per errore nella discussione col titolo irregolare; riscrivo qui.

devi lanciare una nuova istanza della virtual machine richiamando il comando java e passandogli il nome della classe di cui vorresti richiamare il main.
in generale per lanciare un comando in Java puoi usare il metodo Runtime.exec

per curiositį, come mai non puoi usare i threads?

nadiel
05-03-2009, 15:10
ti ho risposto per errore nella discussione col titolo irregolare; riscrivo qui.

devi lanciare una nuova istanza della virtual machine richiamando il comando java e passandogli il nome della classe di cui vorresti richiamare il main.
in generale per lanciare un comando in Java puoi usare il metodo Runtime.exec

per curiositį, come mai non puoi usare i threads?


Ah ecco, nelle mie ricerche ho incontrato Runtime.exec.. da questo ottengo un oggetto Process; in realtą ho utilizzato ProcessBuilder ma credo sia uguale, ottengo un oggetto Process. A questo punto non so che farci con questo oggetto... dove vedo l'esecuzione della mia applicazione? Queste saranno applicazioni che comunicheranno via TCP... vorrei poter controllare l'esecuzione dello scambio di messaggi..
Non riesco a capire come utilizzare l'inputstream, outputstream di Process


Non posso usare Thread perchč non voglio che i processi accedano alla stessa memoria (in particolare alle stesse variabili statiche)