A thread is the basic unit of CPU utilization within a process. Multithreaded processes provide benefits like increased responsiveness, resource sharing, and ability to utilize multiple processors. There are different models for how user threads created by libraries map to kernel threads managed by the OS kernel, including many-to-one, one-to-one, and many-to-many mappings. Popular thread libraries include Pthreads, Win32 threads, and Java threads which provide APIs for creating and managing threads.