Tråd vs Prosess
Prosess
I verden av dataprogrammering er en prosess en forekomst eller utførelse av et program. Hver prosess inneholder en programkode og eksisterende aktivitet. Det kan være mer enn en tråd som kan utgjøre en bestemt prosess. Instruksjoner kan utføres samtidig. Det vil imidlertid avhenge av at operativsystemet brukes.
I utgangspunktet er prosesser tungt store programmer. De bruker betydelige mengder minne. Derfor er de i stor grad avhengig av ressursene som er tilgjengelige for utførelse. Etter å ha sagt alle disse, er en prosess kjent for å være en "tungvektsprosess".
Hver prosess skjer på en annen minneplass. Derfor, hvis det er flere prosesser tilstede, er bytte mellom hver prosess tungt dyrt, da det vil ta tid fra hver minnetildeling for å bytte til en annen tildeling. Hver prosess har sitt eget adresserom, som kan gi store mengder forsyning.
En prosess er uavhengig av andre prosesser. Så, når en forelderprosess er endret, påvirker det ikke nødvendigvis andre prosesser. På grunn av denne oppførselen krever prosesser inter-prosesskommunikasjon, slik at de kan kommunisere med sine søsken.
Videre er prosesser, på grunn av deres mye mer komplekse natur, ikke skapt med letthet. Dette kan kreve noen duplisering av prosesser, typisk foreldreprosess, for å oppnå konstruksjon.
Tråd
Selv med minimale systemressurser kan tråder utføres samtidig for å oppnå en spesifisert oppgave. Årsaken er at en tråd bare er en utføringssekvens. Det er bare innenfor en prosess, og det er derfor det også referert til som en "lettvektsprosess".
Det regnes som den minste delen av et program som det er en uavhengig sekvensiell utførelsesvei i et program. Konteksten som bytter mellom tråder krever minimal mengde ressurs i motsetning til prosesser. Tråder, i hovedsak, deler adresseplasser og de er også lett opprettet.
Det skal også nevnes at endringer som gjøres i hovedtråden, kan påvirke oppførselen til de andre trådene i samme prosess. Tilsynelatende er kommunikasjon mellom tråder i samme prosess direkte og sømløs.
Sammendrag:
1. En prosess kan inneholde mer enn en tråd.
2. En prosess anses som "tungvekt" mens en tråd anses som "lett".
3. Prosesser er sterkt avhengig av systemressurser tilgjengelig mens tråder krever minimal ressursmengde.
4. Endring av en hovedtråd kan påvirke påfølgende tråder, mens endringer i en overordnet prosess ikke nødvendigvis påvirker barnprosesser.
5. Tråder i en prosess kommuniserer direkte mens prosesser ikke kommuniserer så lett.
6. Tråder er enkle å lage mens prosesser ikke er så grei.