Threads are also known as lightweight processes (LWPs). Each thread has a main process whose memory and other resources are shared by a thread. Each thread is scheduled and runs independently by the kernel. A thread can end at any time without terminating the whole process, and a process can also create new threads at any time. For example, when we open multiple tabs in a Firefox browser, it creates multiple threads, and each thread runs independently.