The major difference between threads and processes is
1. Threads share the address space of the process that
created it; processes have their own address.
2. Threads have direct access to the data segment of its
process; processes have their own copy of the data segment
of the parent process.
3. Threads can directly communicate with other threads of
its process; processes must use inter-process communication
to communicate with sibling processes.
4. Threads have almost no overhead; processes have
5. New threads are easily created; new processes require
duplication of the parent process.
6. Threads can exercise considerable control over threads of
the same process; processes can only exercise control over
7. Changes to the main thread (cancellation, priority
change, etc.) may affect the behavior of the other threads
of the process; changes to the parent process does not
affect child processes.
process is a execution of a program and program contain set
of instructions but thread is a single sequence stream
within the process.thread is sometime called lightweight
process. single thread alows a os to perform singler task
Similarities between process and threads are:
4)if one thread is blocked then the next will be start to
run like process.
1)threads are not independent like process.
2)all threads can access every address in the task unlike
3)threads are design to assist onr another and process
might or not might be assisted on one another.