Multithreading allows an operating system to execute multiple tasks simultaneously by using threads. It improves responsiveness, enables resource sharing, and improves scalability. There are three main multithreading models: many-to-one maps many user threads to a single kernel thread; one-to-one uses a one-to-one mapping; many-to-many multiplexes user threads to kernel threads, combining advantages of the other models.