Forskjell mellom prosess og tråd | Prosess vs tråd

Anonim

Prosess vs tråd

For å la datamaskiner gjøre mer enn én aktivitet om gangen, gir både prosess og tråd en god tjeneste, men det er forskjell på dem i måten de opererer på. Alle programmene som kjører på en datamaskin, bruker minst én prosess eller tråd. Prosess og tråd lar prosessoren bytte jevnt mellom flere oppgaver mens du deler datamaskinens ressurser. Så det er en programmers plikt å bruke tråder og prosesser på en effektiv måte for å lage en prosessor med høy ytelse. Implementeringen av tråder og prosesser varierer i henhold til operativsystemet som er tilgjengelig.

Hva er en prosess?

En prosess er generelt en kontinuerlig serie med handlinger for å oppnå et bestemt resultat. Men i en verden av datamaskiner er en prosess

en forekomst av et utførende dataprogram. Med andre ord er det en ide om en enkelt forekomst av et løpende dataprogram. Bare prosesser kjører binærfiler som inneholder en eller flere tråder. I følge antall tråder involvert i en prosess, er det to typer prosesser. De er enkelttrådsprosesser og multi-thread prosesser. Som navnet antyder, er en

single-thread-prosess en prosess som bare har en tråd. Derfor er denne tråden en prosess, og det skjer bare en aktivitet. I en multi-thread prosess er det mer enn en tråd, og det er mer enn én aktivitet som skjer.

To eller flere prosesser kan kommunisere i hverandre ved hjelp av inter-prosesskommunikasjon. Men det er ganske vanskelig og trenger flere ressurser. Ved å lage en ny prosess må en programmerer gjøre to ting. De er duplisering av overordnet prosess og allokering av minne og ressurser for den nye prosessen. Så dette er veldig dyrt.

Hva er en tråd?

I IT-verdenen er en tråd

den minste utførelsen av instruksjonene til et dataprogram som kan styres uavhengig i henhold til en tidsplan. En tråd er en enkel utførelsesbane i en prosess . En tråd er like kraftig som en prosess fordi en tråd kan gjøre alt som en prosess kan gjøre. En tråd er en lett prosess og trenger bare færre ressurser. Tråder kan lese fra og skrive til de samme variablene og datastrukturvariablene. Tråd kan kommunisere mellom tråder enkelt.

I dag har multi-threading blitt en naturlig tilnærming til mange problemer. Et stort arbeid er delt inn i deler, og hver av dem er tildelt en utførelsesenhet kalt en tråd. Dette er ganske enkelt multi-threading.Dette krever nøye programmering fordi tråder deler datastrukturer som er endret av en annen tråd om gangen, og også fordi tråder deler samme adresserom. En ytterligere fordel med tråder er at tråden gir en effektiv og effektiv måte å oppnå parallellitet på. En gjennomstrømning av et system kan økes ved å la flere tråder kjøre på flere prosessorer fordi tråden er en selvstendig planleggbar enhet.

Mutli-threading

Hva er forskjellen mellom prosess og tråd?

• Prosesser er vanskelig å opprette fordi det trenger en duplisering av overordnet prosess og minneallokering mens tråder er enkle å opprette, siden de ikke krever et separat adresserom.

• Tråder brukes til enkle oppgaver mens prosesser brukes til tunge oppgaver som for eksempel utførelse av et program.

• Prosesser deler ikke samme adresserom, men tråder i samme prosess deler samme adresserom.

• Prosesser er uavhengige av hverandre, men tråder er avhengige av hverandre fordi de deler samme adresserom.

• En prosess kan bestå av flere tråder.

• Siden tråder deler samme adresserom, er virtualisert minne bare knyttet til prosesser, men ikke med tråder. Men en distinkt virtualisert prosessor er knyttet til hver eneste tråd.

• Hver prosess har sin egen kode og data, mens tråder av prosesser deler samme kode og data.

• Hver prosess starter med en primær tråd, men det kan opprette flere tråder om nødvendig.

• Kontekstveksling mellom prosesser er mye langsommere enn konteksten skifter mellom tråder i samme prosess.

• Tråder kan ha direkte tilgang til datasegmentene, men prosesser har sin egen kopi av datasegmenter.

• Prosesser har overhead, men ikke tråder.

Sammendrag:

Prosess vs tråd

Prosess og tråd er to teknikker som brukes av programmerere for å styre prosessoren og utførelse av instruksjoner på en datamaskin på en effektiv og effektiv måte. En prosess kan inneholde flere tråder. Tråder gir en effektiv måte å dele minne på, selv om det driver flere henrettelser enn prosesser. Derfor er tråder et alternativ til flere prosesser. Med den voksende trenden mot multi-core prosessorer, blir tråder det viktigste verktøyet i programmørens verden.

Bilder Courtesy:

Eksempel på mutithreading av Mattias. Campe (CC BY 2. 0)