Alternativ för Java programmering:
- Goetz, B, Peierls, T, Bloch, J, Bowbeer, J, Holmes, D. Java Concurrency in Practice
Alternativ för C# programmering:
- Ashcraft, A. Parallel Programming and Concurrency with C# 10 and .NET 6: A modern approach to building faster, more responsive, and asynchronous .NET applications using C#
Utöver litteraturen tillkommer kompletterande webb- och föreläsningsmaterial som tillhandahålles digitalt via kursplatsen.
EduSinglePage
About the course
Kursens syftar till att studenten ska utveckla grundläggande färdigheter inom programmering med och synkronisering av trådar. Syftet är att studenten inhämtar kunskaper för att skapa applikationer med användning av klassiska datastrukturer och synkroniseringsmekanismer såsom semaforer och monitorer.
This course is offered as part of programme:
Course content
Kursen innehåller följande moment:
- Introduktion till samtidighet och parallellism
- Delade resurser, kritiska regioner och ömsesidig uteslutning
- Race condition, deadlock, livelock, starvation, barrier
- Writer-Reader och Producer-Consumer modeller
- Bounded Buffer
- Synkronisering med lås, mutex, semaforer och monitorer
- Condition Synchronization, Condition variable
- Asynkronprogrammering och trådpooler
Entry requirements
9 hp från kursen DA339A Objektorienterad programmering eller DA315A Objektorienterad spelprogrammering
Utöver ovanstående formella förkunskapskrav förutsätts även att studenten har kunskaper från kursen DA339A Objektorienterad programmering eller DA315A Objektorienterad spelprogrammering
Course literature
Course evaluation
Högskolan ger studenter som deltar i eller har avslutat en kurs en möjlighet att framföra sina erfarenheter av och synpunkter på kursen genom en kursvärdering som anordnas av högskolan. Högskolan sammanställer kursvärderingarna samt informerar om resultaten och eventuella beslut om åtgärder som föranleds av kursvärderingarna. Resultaten ska hållas tillgängliga för studenterna. (HF 1:14).