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å omständigheterna. (Det är ett problem när man hanterar databaser med många sam­tidiga användare.) – Concurrency / samtidig­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ödvändigt­vis att de kan avslutas oberoende av varandra. De kan behöva vänta in resultat från andra trådar vid vissa punkter i körningen. – Ett exempel på concurrency 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 oberoende av varandra. Parallellism är som när en person byter däck på vänster framhjul samtidigt som en annan byter däck på höger framhjul. – Concurrency / samtidighet kan, till skillnad från parallellism, genomföras på en enda processor 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]