Gäller från och med: Autumn 2020
Beslutad av: Professor Thomas Johansson
Datum för fastställande: 2020-09-24
Avdelning: Computer Science (LTH)
Kurstyp: Gemensam kurs, avancerad nivå och forskarnivå
Kursen ges även på avancerad nivå med kurskod: EDAP10
Undervisningsspråk: Swedish
Concurrent programs combine parallel, asynchronous activities, frequently interacting with a physical environment. Applications include control systems, network communication, and interactive systems. The course aims to give students ability and skills to design robust, efficient, and well-structured concurrent programs.
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
Basic concepts: concurrent activities, busy-wait and polling, synchronization and communication, atomic operations such as test-and-set, and mutual exclusion. Synchronization and signaling in shared-memory applications: locks, monitors. Synchronization and signaling in message-passing applications. Concurrency in interactive systems with callbacks. Analysis of deadlock and livelock. Central aspects of the Java concurrent package, such as locks, semaphores, thread pools, atomics, and blocking queues. Overview of real-time operating systems, scheduling, multicore hardware, lock-free algorithms. Brief introduction to more advanced frameworks in the Java concurrent package.
Goetz, B.: Java Concurrency in Practice. Addison-Wesley, 2006. ISBN 0321349601.
Additional materials provided by the department.
Undervisningsformer: Föreläsningar, laborationer
Examinationsformer: Skriftlig tentamen, inlämningsuppgifter.
Compulsory lab work and written examination. The final grade of the course is based on the result of the written examination.
Betygsskala: Underkänd, godkänd
Examinator:
Förkunskapskrav: EDAA01 Programming - Second Course or EDAA30 Programming in Java - Second Course
Kursansvariga:
Hemsida: http://cs.lth.se/edap10/