concurrency

samtidighet, samtidiga förlopp – det– att flera delar av samma program (trådar) körs jämsides samtidigt i ett it‑system; eller att de kan äga rum samtidigt. ”Samtidigt” betyder att var och en av trådarna kan köras i gång utan att behöva vänta på att de andra har av­slutats. Detta kan vara en tillgång eller ett problem, beroende på om­ständig­het­erna. (Det är ett problem när man hanterar data­baser med många sam­tidiga an­vändare.) –– Concurrency / sam­tidig­het ska skiljas från parallellism, som är mer ren­odlat. Parallellism innebär att trådarna kan köras samtidigt från början till slut, oberoende av varandra, på olika processorer. Trådarna ska inte behöva vänta på varandra. Concurrent/samtidig programkörning innebär att två eller flera trådar kan köras på samma gång, men inte nöd­vändigt­vis att de kan avslutas obe­ro­ende av varandra. De kan behöva vänta in resultat från andra trådar vid vissa punkter i körningen. –– Ett exempel på con­curr­ency i var­dags­livet är att en person diskar, en annan torkar disken och en tredje ställer in den torkade disken i skåpet. De är inte helt obe­ro­ende av varandra. Parallellism är som när en person byter däck på vänster fram­hjul samtidigt som en annan byter däck på höger fram­hjul. – Concurr­ency/sam­tidig­het kan, till skillnad från parallellism, genom­föras på en enda pro­cessor genom att trådarna turas om att använda den. Det kan då vara ett sätt att utnyttja processorn mer effektivt genom att död­tiden minskar. Concurrency errors, samtidighetsproblem, är fel eller problem som kan uppstå vid samtidig programkörning, till exempel vid kapplöpning (data race). – Se också concurrent.

[it-system] [programmering] [ändrad 28 maj 2018]