Voglio sapere in Java:In Java se un thread è stato ucciso, cosa succederà all'altro thread?
- Se thread principale è stato ucciso che cosa accadrà ad altri thread per bambini?
- Se il thread secondario viene ucciso, cosa succederà ai fratelli e al thread principale?
Ho letto nel seguente link che poiché i thread condividono lo spazio indirizzo, uccidere un thread può influire anche su altri thread.
Di seguito è riportato un preventivo da here.
I fili sono processi leggeri che dividono il flusso principale di controllo in più flussi e ciascun flusso di controllo/filo verrà eseguito indipendentemente. L'attività del processo in un sistema è rappresentata da thread. Il processo che ha più thread è chiamato multi thread. Ogni thread ha il suo ID di thread (tipo di dati intero), registro, contatore di programma, stack, errore n. I thread possono comunicare utilizzando la memoria condivisa all'interno dello stesso processo. Ci sono diversi vantaggi nell'usare i thread per gestire e mantenere la sottoattività delle applicazioni. Quando utilizziamo i thread, meno risorse di sistema vengono utilizzate per il cambio di contesto e aumentato il throughput dell'applicazione. I thread semplificano anche la struttura del programma. Non esiste un meccanismo speciale per la comunicazione tra le attività. I thread presentano inoltre alcuni svantaggi, ad esempio i thread non sono riutilizzabili poiché dipendono da un processo e non possono essere separati dal processo. I thread non sono isolati in quanto non hanno il loro spazio indirizzo. La causa dell'errore da parte del thread può uccidere l'intero processo o programma poiché tale errore influisce sull'intero spazio di memoria di tutti i thread utilizzati in quel processo o programma. A causa delle risorse condivise da parte dei thread con il processo, può anche influire sull'intero processo o programma quando un danno alla risorsa da parte del thread. Per l'accesso simultaneo in lettura e scrittura al thread di memoria verranno richieste le sincronizzazioni. I dati del processo possono facilmente danneggiare il thread attraverso la corsa dei dati perché tutti i thread con il processo hanno accesso in scrittura allo stesso pezzo di dati.
Can u gys informi se tutto ciò che ha detto nel link qui sopra è applicabile a java
grazie per la rapida risposta. Ho ancora un dubbio sul punto 2. Ho letto nel seguente link che, poiché i thread condividono lo spazio degli indirizzi, uccidere un thread può influenzare anche altri thread. In attesa della risposta http://www.blurtit.com/q236205.html – nantitv
A) Il rant è completamente sbagliato quando dice "* I thread semplificano anche la struttura del programma *", e nulla di ciò che afferma in seguito può riparare quel miserabile condanna, frase. B) Non penso che si applichi a Java. C) Non uccidere i thread in modo esplicito (utilizzando Thread.stop). Il metodo Thread.stop è deprecato per ottime ragioni. – aioobe
La discussione aiuta un programma a gestire diversi compiti nello stesso tempo. Il metodo Thread.stop() è deprecato perché non è sicuro (pensate se il thread sta gestendo alcuni dati importanti). Meglio fermarlo con una condizione booleana in un ciclo while nel metodo run(). –