A process is an active program under execution. Processes require more time for context switching as they are heavier. A program becomes a process at execution time. A process can create other processes which are known as Child Processes. The process has stated such as new, ready, running, waiting, terminated, suspended.
A thread is a lightweight process. Threads require less time for context switching as they are lighter than processes. Thread is the segment of a process. Processes can have multiple threads and these multiple threads are contained within a process. A thread has mainly 3 states such as running, ready, and blocked. The thread takes less time to terminate as compared to the process.