This document discusses threads and multithreaded programming. It covers thread libraries like Pthreads, Windows threads and Java threads. It discusses implicit threading techniques like thread pools and OpenMP. Issues with multithreaded programming like signal handling, thread cancellation and thread-local storage are examined. Operating system support for threads on Windows and Linux is also overviewed.