Visualizzazione dei risultati da 1 a 7 su 7

Visualizzazione discussione

  1. #7
    Ah ecco, quindi in generale se invoco exec senza usare un nuovo thread, l'edt viene rallentato se e solo se oltre ad invocare exec mi metto ad attendere l'exitCode del processo tramite un waitFor().
    Anzi nel mio caso si bloccherebbe proprio, visto che il mio processo non si conclude mai.
    Se invece invoco soltanto l'exec direttamente da swing senza usare un nuovo thread e sono certo che non ci sono stream in arrivo dal processo, posso stare tranquillo che il processo verrà fatto girare dal sistema operativo e quindi in modo totalmente indipendente dall'edt della jvm.
    E' chiaro che nel mio caso, essendo un processo che rimane sempre in esecuzione, non posso fare un waitFor() perché non ci sarà mai un exitCode restituito da questo metodo di Process.
    Comunque io per scongiurare qualsiasi problema sulla gui, ho creato un nuovo thread per l'invocazione di exec ed anche se come tu scrivi potrebbe non servire, credo che male non possa fare.
    Semplicemente ci sarebbe questo unico nuovo thread che si aggiungerebbe all'edt e che provvederebbe ad eseguire il processo esterno e si concluderebbe dopo aver letto e chiuso gli stream del processo stesso, lasciandolo avviato.
    Tra l'altro ho verificato tramite il prompt dei comandi e l'avvio del processo non genera proprio alcuno stream, almeno non nel prompt dei comandi e si vede soltanto l'icona corrispondente all'ambiente del processo che ha un suo runtime installato che è necessario per farlo girare.
    Ultima modifica di Samaritan; 06-04-2014 a 14:16

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.