Visualizzazione dei risultati da 1 a 10 su 10

Discussione: Serializzare un Thread

  1. #1

    Serializzare un Thread

    Ciao!
    E' possibile secondo voi passare via socket un riferimento a un Thread avendo serializzato la classe che estende Thread??

  2. #2

    Re: Serializzare un Thread

    Originariamente inviato da samirol
    Ciao!
    E' possibile secondo voi passare via socket un riferimento a un Thread avendo serializzato la classe che estende Thread??
    Si è possibile farlo utilizzando i flussi di oggetti (ObjectOutputStream e ObjectInputStream).
    Ma passare un intero processo, a cosa ti serve?

  3. #3
    Ho bisogno di interrompere un thread da un altro thread...e l'unico modo che mi è venuto in mente è quello...però non funziona perkè nel momento in cui passo il riferimento con ObjectOutputStream mi solleva l'eccezione
    java.io.NotSerializableException: java.io.BufferedReader

  4. #4
    Il codice che solleva l'eccezione è:
    codice:
    objectToServer.writeObject(this);

  5. #5
    Originariamente inviato da samirol
    Ho bisogno di interrompere un thread da un altro thread...e l'unico modo che mi è venuto in mente è quello...
    Posta un po' di codice e spiega meglio quello che intendi fare..

  6. #6
    Per capirci meglio...
    Partono due main, due applicazioni...uno in attesa di una comunicazione socket (server) e l'altro client che fa partire un thread che si collega alla socket server.

    il Server appena accetta la comunicazione del client fa partire un thread per gestire la comunicazione...Quindi una semplice implementazione di un server multithread!
    A questo punto ho bisogno ke il thread server uccida il thread client ma nessuno dei due ha un riferimento l'uno dell'altro. L'unica cosa che li lega è la socket!

    Per questo avevo pensato di passare il riferimento del thread client al thread server in modo che potesse ucciderlo!

    Ma quel codice mi solleva quell'eccezione!

  7. #7
    Problema risolto...il BufferReader non è serializzabile e io ce l'avevo come variabile privata!
    Ora devo capire come funziona il metodo interrupt() perchè mi sembra un po' ostico!

  8. #8
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    scusa non puoi tenerti in qualche modo il pid del thread e killarlo brutalmente? oppure inviare all'altro processo un messaggio che ne chieda l'interrupt (quindi tentando la normale terminazione?)

  9. #9
    Il problema è proprio il "killarlo brutalmente"! Sto diventando matta a cercare un metodo che lo faccia!!!

  10. #10
    Originariamente inviato da samirol
    A questo punto ho bisogno ke il thread server uccida il thread client ma nessuno dei due ha un riferimento l'uno dell'altro. L'unica cosa che li lega è la socket!
    Quindi ti conviene chiudere la connessione aperta su quella socket con quel thread.

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.