For at lade computere udføre mere end en aktivitet ad gangen giver både proces og tråd en god service, men der er forskel mellem dem i den måde, de fungerer på. Alle programmer, der kører på en computer, bruger mindst en proces eller tråd. Process og tråd lader processoren skifte jævnt mellem flere opgaver, mens computerens ressourcer deles. Så det er en programmerers pligt at bruge tråde og processer på en effektiv måde til at fremstille en processor med høj ydeevne. Implementeringen af tråde og processer varierer afhængigt af det tilgængelige operativsystem.
En proces er generelt en kontinuerlig række handlinger for at opnå et specifikt resultat. Men i computerenes verden er der en proces et eksempel på et eksekverende computerprogram. Med andre ord er det en idé om en enkelt forekomst af et kørende computerprogram. Processer kører blot binære filer, der indeholder en eller flere tråde.
I henhold til antallet af tråde, der er involveret i en proces, er der to typer processer. Det er enkelttrådsprocesser og flertrådsprocesser. Som navnet antyder, a enkelttrådsproces er en proces, der kun har en tråd. Derfor er denne tråd en proces, og der sker kun en aktivitet. I en multi-tråd proces, der er mere end en tråd, og der er mere end en aktivitet, der sker.
To eller flere processer kan kommunikere inden for hinanden ved hjælp af interproces-kommunikation. Men det er ganske vanskeligt og har brug for flere ressourcer. Når man laver en ny proces, skal en programmør gøre to ting. De er duplikering af overordnede processer og allokering af hukommelse og ressourcer til den nye proces. Så dette er virkelig dyrt.
I IT-verdenen er en tråd than mindste udførelse af instruktioner fra et computerprogram der kan styres uafhængigt i henhold til en tidsplan. En tråd er en simpel udførelsesvej inden for 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 letvægtsproces og har kun brug for færre ressourcer. Tråde kan læse fra og skrive til de samme variabler og variablerne af datastrukturer. Tråd kan let kommunikere mellem tråde.
I dag er multi-threading blevet en naturlig tilgang til mange problemer. Et stort værk er opdelt i dele, og hver af dem tildeles en udførelsesenhed kaldet en tråd. Dette er simpelthen flertråd. Dette kræver omhyggelig programmering, fordi tråde deler datastrukturer, der er ændret af en anden tråd ad gangen, og også fordi tråde deler det samme adresserum. En yderligere fordel ved tråde er, at gevindene giver en effektiv og effektiv måde at opnå parallelitet på. En gennemstrømning af et system kan øges ved at lade flere tråde køre på flere processorer, fordi tråd er en uafhængigt planerbar enhed.
Mutli-threading
• Processer er vanskelige at oprette, fordi den har brug for en duplikering af overordnet proces og hukommelsesallokering, mens tråde er lette at oprette, da de ikke kræver et separat adresse.
• Tråde bruges til enkle opgaver, mens processer bruges til tunge opgaver såsom eksekvering af en applikation.
• Processer deler ikke det samme adresserum, men tråde inden for den samme proces deler det samme adresserum.
• Processer er uafhængige af hinanden, men tråde er indbyrdes afhængige, da de deler det samme adresserum.
• En proces kan bestå af flere tråde.
• Da tråde deler samme adresseplads, er virtualiseret hukommelse kun forbundet med processer, men ikke med tråde. Men en distinkt virtualiseret processor er forbundet med hver tråd.
• Hver proces har sin egen kode og data, mens processertrådene deler samme kode og data.
• Hver proces starter med en primær tråd, men den kan oprette yderligere tråde om nødvendigt.
• Kontektskift mellem processer er meget langsommere end kontekstskiftet mellem trådene i den samme proces.
• Tråde kan have direkte adgang til dets datasegmenter, men processer har deres egen kopi af datasegmenter.
• Processer har omkostninger, men ikke tråde.
Resumé:
Process og tråd er to teknikker, der anvendes af programmerere til at kontrollere processoren og udførelsen af instruktioner på en computer på en effektiv og effektiv måde. En proces kan indeholde flere tråde. Tråde giver en effektiv måde at dele hukommelse på, selvom de kører flere henrettelser end processer. Derfor er tråde et alternativ til flere processer. Med den voksende tendens mod multikerneprocessorer vil tråde blive det vigtigste værktøj i programmørernes verden.
Billeder høflighed: