Kan du drepe en tråd uten å drepe prosessen?

Dataprogrammer kjøre i minnet, kan prosessoren håndtere ulike søknadsprosesser. Innenfor disse søknadsprosesser, programmerere lage mindre sub-programmer som kalles "tråder" som kjører parallelt med hverandre i programmet. Tråder er ikke prosesser, og er ikke ansvarlig for de viktigste prosessene som skapte dem. Stoppe utførelsen av en tråd som ikke representerer den viktigste prosessen med en søknad vil ikke stoppe prosessen selv.

samtidighet

Utviklere bruker begrepet "samtidighet" for å betegne evnen til et program eller programmeringsspråk for å kjøre flere tråder av utførelsen på samme tid. Når datamaskiner fått muligheten til å kjøre flere programmer, disse programmene kan alle bor i minne, kjører samtidig. Selve støtten av samtidighet i et programmeringsspråk som gjør at den kan støtte samtidige tråder i hovedprogrammatisk prosess.

prosesser

Utførelsen av et program følger visse trinn. Prosessoren laster første programkoden fra harddisken inn hovedminne. Operativsystemet angir en bestemt adresse plass i minnet for programmet, slik at informasjon fra programmet ikke lekker inn i andre programmer. Programmet begynner gjennomføring, da blir en løpende prosess. Programmer har vanligvis en hoved løpende prosess, men kan bestå av flere mindre prosesser.

tråder

Prosesser anses tungt, ved at operativsystemet tildeler dem dedikert minne, og prosessene må kommunisere gjennom spesielle variabler for å hindre race conditions eller minne lås. Tråder er lette prosesser som ligger inne i en enkelt prosess. En prosess kan ha tallrike tråder, men trådene bare ligge i en prosess. Tråder kan kommunisere med hverandre, dele informasjon, start og stopp med mindre system engasjement eller ressurser.

slette tråder

Tråder vanligvis ikke blir slettet. De er ferdig med gjennomføring og deretter vende tilbake til hovedtråden. Dette blir referert til som "tråd død». Den viktigste prosessen kan vente på å kjøre tråder å dø, enten gjennom noen variabel verdiendring eller ved å vedta en bestemt funksjon. Tråder som er opprettet i en prosess som stopper henrettelsen vil vanligvis ikke stanse gjennomføringen av programmet. Tråden vil avslutte med en feilmelding om at prosessen kan håndtere. Den viktigste fremgangsmåte, som også kan betraktes som hovedtråden, kan dø. Programmet vil da stoppe.