Potete uccidere un thread senza uccidere il processo?

July 13

I programmi per computer eseguiti in memoria, il processore può gestire diversi processi di applicazione. All'interno di questi processi applicativi, programmatori di creare piccoli sotto-programmi chiamati "fili" che scorrono in concomitanza con l'altro nel programma. Le discussioni non sono i processi, e non sono responsabili per i principali processi che li hanno creati. Arresto l'esecuzione di un thread che non rappresenta il processo principale di un'applicazione non interrompere il processo stesso.

Concorrenza

Gli sviluppatori utilizzano il termine "concorrenza" per indicare la capacità di un programma o linguaggio di programmazione per eseguire più thread di esecuzione allo stesso tempo. Quando i computer hanno guadagnato la possibilità di eseguire più programmi, questi programmi potrebbero tutti risiedere in memoria, in esecuzione contemporaneamente. Il supporto effettivo di concorrenza in un linguaggio di programmazione significa che è in grado di supportare thread simultanei nella principale processo programmatico.

Processi

L'esecuzione di un programma segue alcuni passaggi. Il processore prima carica il codice del programma dal disco fisso nella memoria principale. Il sistema operativo designa uno spazio indirizzo specifico nella memoria per il programma, in modo che le informazioni del programma non perde in altri programmi. Il programma inizia l'esecuzione, poi diventa un processo in esecuzione. Programmi di solito hanno un processo in esecuzione principale, ma possono essere costituiti da diversi processi più piccoli.

discussioni

I processi sono considerati pesante, in quanto il sistema operativo li assegna spazio di memoria dedicata, ed i processi devono comunicare attraverso variabili speciali per prevenire condizioni di gara o blocco di memoria. Thread sono processi leggeri che risiedono all'interno di un singolo processo. Un processo può avere numerose discussioni, ma le discussioni risiedere solo in un unico processo. Le discussioni possono interagire tra loro, condividere informazioni, avviare e arrestare con minore coinvolgimento o le risorse di sistema.

eliminazione dei thread

Le discussioni di solito non vengono eliminati. Finiscono esecuzione e poi si ricongiungono il thread principale. Questo è indicato come "morte thread." Il processo principale può aspettare per l'esecuzione di thread di morire, sia attraverso un po 'di modifica del valore variabile o promulgando una particolare funzione. Fili creati in un processo che fermano esecuzione non tipicamente interrompere l'esecuzione del programma. Il filo uscirà con un errore che il processo può gestire. Il processo principale, che può anche essere considerato il filo conduttore, può morire. Il programma sarà poi fermarsi.