In the above figure, it shows the structure of memory block where single thread and multithread are performing. It shows that a thread has state like a process does, but its state are the values which held in its register and the data on its stack.
|A process is the unit of resource allocation and protection.||A thread is the unit of computation that runs in the context of a process.|
|It manages certain resources for example, virtual memory, I/O handlers and signal handlers.||It manages certain resources for example, stack, registers, signal masks, priorities and thread-specific data.|
|It is protected from other processes via an MMU.||Threads can interfere with each other.|
|Interprocess communication between processes can be complicated and inefficient.||Intraprocess communication between threads are more efficient than Interprocess communication between processes.|