

The Multithreaded Applications Programming course provides students with information about threads: what they are, how they work, why they are useful. The course includes several sessions using the various tools which are available. It examines in detail some simple programs, looking at both the operation and performance of those programs. The course also covers many of the complexities and hardware-dependent performance issues that arise.
The actual code examples are in POSIX threads on Solaris 2.x (examples also run on Digital UNIX, IRIX, and HP-UX), with reference to how the UNIX International (aka "Solaris Threads") API is used.
This course provides laboratory work in writing and debugging multi-threaded programs.
| » | Details below |
Students who can benefit from this course are experienced C programmers who are proficient in system interface programming
To succeed fully in this course, students should be able to:
Upon completion of this course, students should be able to:
Before:
After:
Module 1 - Introduction to Multithreading
Module 2 - Getting Started With POSIX Threads
Module 3 - Introduction to Synchronization
Module 4 - Locking Problems
Module 5 - Advanced Synchronization
Module 6 - Thread Specific Data
Module 7 - Cancellation
Module 8 - Design
Module 9 - Thread-Safe Libraries
Module 10 - UNIX Signals
Module 11 - Advanced Scheduling
Module 12 - Hardware
Module 13 - Performance
Module 14 - API Details
Module 15 - Compiling
Module 16 - Other Tools
Module 17 - Other Details
Module 18 - More Information