Kursplan för

Flertrådad programmering
Concurrent Programming

EDAP10F, 7,5 högskolepoäng

Gäller från och med: Höstterminen 2020
Beslutad av: Professor Thomas Johansson
Datum för fastställande: 2020-09-24

Allmänna uppgifter

Avdelning: Datavetenskap (LTH)
Kurstyp: Gemensam kurs, avancerad nivå och forskarnivå
Kursen ges även på avancerad nivå med kurskod: EDAP10
Undervisningsspråk: Svenska

Syfte

I flertrådade program hanteras parallella, asynkrona förlopp, ofta i interaktion med en fysisk omvärld. Bland de många tillämpningarna återfinns styrsystem, nätverkskommunikation, samt interaktiva system. Kursen syftar till att ge förmåga att konstruera robusta, resurseffektiva och välstrukturerade flertrådade program.

Mål

Kunskap och förståelse

För godkänd kurs skall doktoranden

Färdighet och förmåga

För godkänd kurs skall doktoranden

Värderingsförmåga och förhållningssätt

För godkänd kurs skall doktoranden

Kursinnehåll

Grundläggande begrepp: jämlöpande aktiviteter, busy-wait och polling, synkronisering och kommunikation, odelbara operationer som test-and-set, ömsesidig uteslutning. Synkronisering och signalering i system med delat minne: lås, monitorer. Synkronisering och signalering i meddelandebaserade system. Trådning i interaktiva system med callbacks. Uppkomst och analys av dödläge (deadlock och livelock). Användning av några centrala delar av Javas concurrent-paket, såsom lås, semaforer, trådpooler, atomära värden och blockerande köer. Orientering om realtidsoperativsystem, schemaläggning, multicore-maskiner, låsfria algoritmer. Utblick mot mer avancerade ramverk i Javas concurrent-paket.

Kurslitteratur

Goetz, B.: Java Concurrency in Practice. Addison-Wesley, 2006. ISBN 0321349601.
Ytterligare material tillhandahålls av institutionen.

Kursens undervisningsformer

Undervisningsformer: Föreläsningar, laborationer

Kursens examination

Examinationsformer: Skriftlig tentamen, inlämningsuppgifter. Obligatoriska laborationer och skriftlig tentamen. Slutbetyg på kursen grundar sig på resultatet av den skriftliga tentamen.
Betygsskala: Underkänd, godkänd
Examinator:

Antagningsuppgifter

Förkunskapskrav: EDAA01 Programmeringsteknik - fördjupningskurs eller EDAA30 Programmering i Java - fortsättningskurs

Kurstillfällesinformation

Kontaktinformation och övrigt

Kursansvariga:
Hemsida: http://cs.lth.se/edap10/


Fullständig visning