Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2009
    Messaggi
    37

    [Java] Avviare metodo main() da altre applicazioni

    Salve. Ho scritto un progetto con alcuni file indipendenti ciascuno dotato di un main() e devo avviarli in sequenza. Essendo il main() un metodo statico l'ho invocato direttamente

    codice:
    NomeClasse.main(args);
    Il problema in questo caso è che l'esecuzione si blocca in attesa che il programma finisca. Come posso fare per far si che l'esecuzione vada avanti senza curarsi del programma appena avviato?
    www.ariadifan.it - Ariadineve Official Fan Club -

    God save the Queen

    Progress isn't made by early risers. It's made by lazy men trying to find easier ways to do something

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    Hai diverse possibilità:

    1) Usi dei thread e, all'interno di ciascun thread, effettui l'avvio nel modo che hai già usato.
    2) Utilizzi la classe Runtime ( metodo exec() ) per avviare una JVM separata per ciascuna invocazione.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,480

    Moderazione

    Originariamente inviato da dvoran
    Salve. Ho scritto un progetto con alcuni file indipendenti ciascuno dotato di un main() e devo avviarli in sequenza. Essendo il main() un metodo statico l'ho invocato direttamente
    Forse era meglio continuare questa discussione, visto che l'argomento è praticamente lo stesso.

    In futuro, non aprire più di una discussione per lo stesso problema.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2009
    Messaggi
    37
    Si, lo so che l'argomento era simile, anche se la mia richiesta di adesso era solo su come fare per non bloccare l'esecuzione del processo.

    Tra l'altro ho quasi risolto per quanto riguarda JADE, avviare un main container e un agent container si fa quasi così (quasi nel senso che non funziona ancora )

    codice:
    Runtime rt = Runtime.instance();
    Profile p = new ProfileImpl();
    Profile p1 = new ProfileImpl();
    ContainerController cc = rt.createMainContainer(p);
    ContainerController ac = rt.createAgentContainer(p1);
    AgentController agente1 = ac.createNewAgent("AgenteHumidity", "Device.AgenteHumidity", null);
    AgentController agente2 = ac.createNewAgent("AgenteTemperatura", "Device.AgenteTemperatura", null);
    AgentController agente3 = ac.createNewAgent("DeviceSummarizer", "Device.DeviceSummarizer", null);
    agente1.start();
    agente2.start();
    agente3.start();
    non so se a qualcuno può servire... anche per dirmi se sto sbagliando qualcosa!
    Comunque l'altra discussione puoi chiuderla, non mi serve più e tanto nessuno ha risposto
    www.ariadifan.it - Ariadineve Official Fan Club -

    God save the Queen

    Progress isn't made by early risers. It's made by lazy men trying to find easier ways to do something

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.