the major difference between threads and processes is
1.Threads(Light
weight Processes) 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 interprocess communication
to communicate with sibling processes.
4.Threads have almost no overhead; processes have
considerable overhead.
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
child processes.
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.If we consider running a word
processing program to be a process, then the auto-save and
spell
check features that occur in the background are
different threads of that
process which are all operating
on the same data set.