Threads are known as Lightweight processes. The CPU switches rapidly back and forth among the threads giving illusion that the threads are running in parallel.
Multithreading is a type of execution model that allows multiple threads to exist within the context of a process such that they execute independently but share their process resources. A thread maintains a list of information relevant to its execution including the priority schedule, exception handlers, a set of CPU registers, and stack state in the address space of its hosting process.