Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Lucidchart
auto-updatetrue
width700
nameProcess&Thread-237-a3e6829b
id4464-74d4-52317cbc-8d42-12920a00cdb0
alignLeft
height350

...


Man kan kanskje spørre seg; hvorfor ønsker man å utføre kode i forskjellige tråder?
Et vanlig bruksområde for flertrådsprogrammering er i applikasjoner hvor man har klient-tjener arkitektur. Det kan være lettere å forstå med en analogi;

Taxi Trondheim AS fungerer på følgende måte:
En døgnåpen taxisentral tar i mot henvendelser fra kunder, avklarer hvilken tjeneste kunden vil ha (vanlig taxi, maxitaxi, tidspunkt for henting, osv.), kontakter en passende taxi og overlater kunden til taxisjåføren. Taxisjåføren henter så kunden, og kjører dit kunden ønsker å dra. Når kunden er framme, slippes vedkommende av og taxisjåføren stopper for å vente på en ny oppringning fra taxisentralen. Taxi Trondheim AS har mange taxier som kan kjøre mange kunder samtidig.

I dette eksempelet vil hele Taxi Trondheim AS være en prosess. Taxisentralen som tar i mot henvendelser fra kunder tilsvarer hovedtråden, som kjører så lenge prosessen gjør. Når sentralen kontakter taxier (som bare står stille) og tildeler de kunder, tilsvarer dette at hovedtråden lager en ny tråd. Etter at taxisjåføren har utført oppdraget, kjørt kunden dit den ønsker, stopper taxisjåføren og tråden avsluttes. Men hovedtråden (taxisentralen) vil naturligvis fortsatt ta i mot henvendelser. En prosess (Taxi Trondheim) vil altså kunne mange tråder (taxier) kjørende samtidig.
 DENNE SIDEN ER UNDER UTVIKLING