Forskjell mellom prosess og tråd | 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.
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.
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)