CSCI 415/515 - Fall 2022
Systems Programming
Threads


Monday, Nov 14, 2022

Readings
The Linux Programming Interface:
  • Ch 29: Threads: Introduction
    • 29.1: Overview
    • 29.2: Background Details of the Pthreads API
    • 29.3: Thread Creation
    • 29.4: Thread Termination
    • 29.5: Threads IDs
    • 29.6: Joining with a Terminated Thread
    • 29.7: Detaching a Thread
    • 29.8: Thread Attributes
    • 29.9: Threads Versus Processes
Materials

Wednesday, Nov 16, 2022

Readings
The Linux Programming Interface:
  • Ch 30: Threads: Thread Synchronization
    • 30.1: Protecting Accesses to Shared Variables: Mutexes
Materials

Friday, Nov 18, 2022

Readings
The Linux Programming Interface:
  • Ch 30: Threads: Thread Synchronization
    • 30.2: Signaling Changes of State: Condition Variables
Materials

Monday, Nov 28, 2022

Readings
The Linux Programming Interface:
  • Ch 31: Threads: Thread Safety and Per-Thread Storage
    • 31.1: Thread Safety (and Reentrancy Revisited)
    • 31.2: One-Time Initialization
    • 31.3: Thread-Specific Data
    • 31.4: Thread-Local Storage
Materials

Wednesday, Nov 30, 2022

Readings
The Linux Programming Interface:
  • Ch 32: Threads: Thread Cancellation
    • 32.1: Canceling a Thread
    • 32.2: Cancellation State and Type
    • 32.3: Cancellation Points
    • 32.4: Testing for Thread Cancellation
    • 32.5: Cleanup Handler
    • 32.6: Asynchronous Cancelability
Materials

Friday, Dec 2, 2022

Readings
The Linux Programming Interface:
  • Ch 33: Threads: Further Details
    • 33.1: Thread Stacks
    • 33.2: Threads and Signals
    • 33.3: Threads and Process Control
Materials