Forskel mellem proces og tråd | Process vs thread
For at lade computere gøre mere end en aktivitet ad gangen, giver både proces og tråd en god service, men der er forskel på dem på den måde, de opererer. Alle programmer, der kører på en computer, bruger mindst én proces eller tråd. Proces og tråd lader processoren skifte jævnt mellem flere opgaver, mens du deler computerens ressourcer. Så det er pligt for en programmør at bruge tråde og processer på en effektiv måde til at gøre en processor med høj ydeevne. Implementeringen af tråde og processer adskiller sig alt efter det tilgængelige operativsystem.
Hvad er en proces?En proces er generelt en kontinuerlig række handlinger for at opnå et specifikt resultat. Men i computernes verden er en proces
en forekomst af et eksekverende computerprogram. Det er med andre ord en ide om en enkelt forekomst af et løbende computerprogram. Det er simpelthen processer, der kører binære filer, der indeholder et eller flere tråde. Ifølge antallet af tråde involveret i en proces er der to typer processer. De er single-thread processer og multi-thread processer. Som navnet antyder, er en
single-thread-proces en proces, der kun har en tråd. Derfor er denne tråd en proces, og der er kun en aktivitet der sker. I en multi-thread proces er der mere end en tråd, og der er mere end en aktivitet der sker.
Hvad er en tråd?
I IT-verdenen er en tråd
den mindste udførelse af instruktioner fra et computerprogram , der kan styres uafhængigt efter en tidsplan. En tråd er en simpel udførelsesvej i en proces . En tråd er lige så kraftig som en proces, fordi en tråd kan gøre alt, hvad en proces kan gøre. En tråd er en let proces og kræver kun færre ressourcer. Tråd kan læses fra og skrive til de samme variabler og datastrukturer variabel. Tråd kan kommunikere mellem trådene nemt.
Mutli-threading
Hvad er forskellen mellem proces og tråd?
• Processer er vanskelige at oprette, fordi det kræver overlapning af overordnet proces og hukommelsesallokering, mens tråde er nemme at oprette, da de ikke kræver et separat adresserum.
• Tråde bruges til simple opgaver, mens processer bruges til tunge opgaver som f.eks. Udførelse af en applikation.
• Processer deler ikke det samme adresserum, men tråde inden for samme proces deler det samme adresserum.
• Processer er uafhængige af hinanden, men tråde er afhængige af hinanden, da de deler det samme adresserum.
• En proces kan bestå af flere tråde.
• Da tråde deler samme adresserum, er virtualiseret hukommelse kun forbundet med processer, men ikke med tråde. Men en særskilt virtualiseret processor er forbundet med hver tråd.
• Hver proces har sin egen kode og data, mens tråde af processer deler samme kode og data.
• Hver proces starter med en primær tråd, men det kan skabe yderligere tråde, hvis det er nødvendigt.
• Kontekstskift mellem processer er meget langsommere end konteksten skifter mellem tråde i samme proces.
• Tråd kan have direkte adgang til datasegmenterne, men processer har deres egen kopi af datasegmenter.
• Processer har generalomkostninger, men ikke tråde.
Sammendrag:
Proces mod tråd
Proces og tråd er to teknikker, som programmerne bruger til at styre processoren og udføre instruktioner på en computer på en effektiv og effektiv måde. En proces kan indeholde flere tråde. Tråd giver en effektiv måde at dele hukommelse på, selv om den driver flere henrettelser end processer. Derfor er tråde et alternativ til flere processer. Med den voksende tendens til multi-core-processorer bliver tråde det vigtigste værktøj i programmørernes verden.
Billeder Hilsen:
Eksempel på mutithreading af Mattias. Campe (CC BY 2. 0)