Hva er multithreading?
I databehandlingsverdenen er multetrådføring oppgaven med å lage en ny utførelsestråd i en eksisterende prosess i stedet for å starte en ny prosess for å starte en funksjon. I hovedsak er oppgaven med multitretting ment å gjøre klokere bruk av datamaskinressursene ved å la ressurser som allerede er i bruk, brukes samtidig med en liten variant av samme prosess. Det grunnleggende konseptet med multithreading har eksistert i noen tid, men fikk større oppmerksomhet etter hvert som datamaskiner ble mer vanlig i løpet av tiåret på 1990-tallet.
Denne formen for tidsdelingsmultipleksing skaper et miljø der et program er konfigurert slik at prosesser kan gaffel eller deles i to eller flere utførelsestråder. Den parallelle utførelsen av tråder i det samme programmet blir ofte utpekt som en mer effektiv bruk av ressursene til datasystemet, spesielt med stasjonære og bærbare systemer. Ved å la et program håndtere flere oppgaver med en multithreading-modell, trenger ikke systemet å gi rom for to separate programmer å sette i gang to separate prosesser og må gjøre bruk av de samme filene samtidig.
Selv om det er mange talsmenn for multetråd, er det også de som forstår prosessen som potensielt skadelig for oppgaven med databehandling. Tidsskjæringen som ligger i å la en gaffel eller tråd dele seg fra en løpeprosess, er av noen tenkt å sette opp omstendigheter der det kan være en viss konflikt mellom tråder når du prøver å dele cacher eller andre maskinvareressurser. Det er også en viss bekymring for at handlingen med multetråding kan senke responstiden for hver enkelt tråd i prosessen, og effektivt negere tidsbesparelser som genereres av konfigurasjonen.
Imidlertid er multithreading fortsatt et av de levedyktige alternativene i datamaskin multitasking. Det er ikke uvanlig at en prosessor tillater både multithreading og oppretting av nye prosesser for å håndtere forskjellige oppgaver. Dette tillater sluttbrukeren alle fordelene ved kontekstbytte, mens de fremdeles utnytter tilgjengelige ressurser best mulig.