As we mentioned earlier that in many respect threads operate in the same way as that of processes. Some of the similarities and differences are:
Similarities
- Like processes threads share CPU and only one thread active (running) at a time.
- Like processes, threads within processes, threads within processes execute sequentially.
- Like processes, thread can create children.
- And like process, if one thread is blocked, another thread can run.
PROCESS |
THREAD |
Doesn’t share memory (loosely coupled) |
Shares memories and files (tightly coupled) |
Creation is time consuming |
Fast |
Execution slow |
Fast |
More time to terminate |
Less time |
More time to switch between processes |
Less time |
System calls are required for communication |
Not required |
more resources are required |
fewer resources are required |
Not suitable for parallelism |
Suitable |