Computer programma's in het geheugen , de processor kan verschillende applicatie processen te behandelen . Binnen deze applicatie processen , programmeurs creëren kleinere sub - programma's, genaamd " draden" die gelijktijdig lopen met elkaar in het programma . Draden zijn niet processen , en zijn niet verantwoordelijk voor de belangrijkste processen die ze gemaakt . Het stoppen van de uitvoering van een draad die het belangrijkste proces van een aanvraag niet vertegenwoordigt zal het proces zelf niet stoppen . Concurrency Ontwikkelaars gebruiken de term " concurrency " om het vermogen van een programma of programmeertaal te lopen meerdere threads van de uitvoering op hetzelfde moment aan te duiden . Toen computers kreeg de mogelijkheid om meerdere programma's te draaien , kunnen deze programma's allemaal wonen in het geheugen , die tegelijk draaien . De feitelijke ondersteuning van concurrency in een programmeertaal betekent dat het kan ondersteunen gelijktijdige threads in de belangrijkste programmatische proces . Processen De uitvoering van een programma volgt een aantal stappen . De processor eerste laadt de programmacode van de harde schijf in het hoofdgeheugen . Het besturingssysteem wijst een bepaalde adresruimte in het geheugen voor het programma , zodat de informatie van het programma niet lekken in andere programma's . Het programma begint executie , wordt dan een lopend proces . Programma's hebben meestal een belangrijke lopend proces , maar kan bestaan uit verschillende kleinere processen . Discussies Processen worden beschouwd als zwaar - gewicht , in dat het besturingssysteem wijst ze dedicated geheugen , en de processen moeten communiceren via speciale variabelen te racen voorwaarden of memory lock te voorkomen . Threads zijn lichtgewicht processen die binnen een enkel proces bevinden . Een proces kan hebben tal van onderwerpen , maar draden alleen wonen in een proces . Threads kan interageren met elkaar , delen informatie , starten en stoppen met minder systeem betrokkenheid of resources . Verwijderen Threads Threads meestal worden niet verwijderd . Ze klaar zijn executie en vervolgens weer aan de rode draad . Dit wordt aangeduid als " thread death . " Het belangrijkste proces kan wachten draaiende threads te sterven , hetzij door enkele waardeverandering variabel of door het aannemen van een bepaalde functie . Threads die zijn gemaakt in een proces dat stop uitvoering zal doorgaans niet stoppen uitvoering van het programma . De thread zal stoppen met een error dat het proces aankan . Het belangrijkste proces , dat ook kan worden beschouwd als de belangrijkste draad , kan sterven . Het programma zal dan stoppen .
|