|
Concurrent and Distributed Programming and Systems 2024/2025
Tuesday 11:30 M.X
The evaluation of work during the semester (homeworks) forms 50% of the
final grade, of which at least 40% are required.
- Motivation. Separation of algorithmic and concurrent aspects in C.
Memory and time complexity of programs with I/O operations and dynamic
memory allocation. Polling and its consequences.
Historical
recommendation (when to use threads and when not, 1995)
- Threads. Thread state diagram. Shared variables, atomicity of memory
accesses, critical regions. Decker's and Peterson's algorithms, assumptions
on memory accesses. Deadlock, livelock. POSIX threads (pthread), mutexes,
condition variables.
Lecture notes
Open Group pthread
reference
A pthread tutorial
Another pthread tutorial
- Threads in Java. Creation of a thread. Synchronised methods,
synchronised blocks. Built-in reentrant mutexes, built-in condition
variables. Methods join(), wait(), signal(). Problem with a direct use of
synchronised methods.
SCJP
Sun Certified Programmer for Java (Chapter 9)
H.
Schildt: Java, The Complete Reference (Chapter 11)
Homeworks
For writing programs in C, use this template.
Make sure that 0 errors and 0 warnings are produced during the compilation
and linking (use make).
Updated by
Tomas Plachetka,
Nov/12/2024
|