This document discusses threads and threading models in operating systems. It covers that most modern applications are multithreaded, with threads running within processes to perform multiple concurrent tasks. Thread creation has lower overhead than process creation. There are three main threading models: many-to-one maps many user threads to one kernel thread; one-to-one maps each user thread to its own kernel thread to allow more concurrency; and many-to-many allows flexible mapping of user to kernel threads.