What is Difference between thread and process?

Answer Posted / p govind rao (bangalore)

A thread is in fact just that, a thread. Something simple.
A simple chain of computing that is set up as in 'a row'. A
chain of commands that can be useful to the programmers
needs.
Sometimes the programmers can actually control the flow of
events that take place, but most commonly that is up to the
programming language to do it for him.
Most useful is the 'multichannel' programming threads, that
are distributed along different paths to be gathered up in
the end.
Each thread can then be processed independently of each-
other in a multiprocessor environment. Therefore
these 'threads' can be assembled (sometimes) and put
forward to the user at a higher speed the otherwise
possible.
Process is a program in execution where as thread is a
seperate path of execution in a program.

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 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.





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
ata time similarities between process and threads are:

1)share cpu.
2)sequential execution
3)create child
4)if one thread is blocked then the next will be start to

run like process. dissimilarities:
1)threads are not independent like process.
2)all threads can access every address in the task unlike
process.
3)threads are design to assist onr another and process
might or not might be assisted on one another.


thread is a light weight process and process is heavy
weight means to say process occurs many threads and
superset of threads and also says threads are sub set of
process

Process is a memory block of an application instance.
Thread is a memory block of a process instance.

Is This Answer Correct ?    3 Yes 1 No



Post New Answer       View All Answers


Please Help Members By Posting Answers For Below Questions

What is preemptive multitasking?

620


Have you used threaded trees anytime in your life time?

716


How do I stop chkdsk at startup?

509


What are necessary conditions for dead lock?

586


What are banks in reference to ram?

598






what is the difference between mutexes and semaphores?

619


What is the difference between af_inet and pf_inet?

535


Difference between NTFS and FAT32?

593


How does reference counting manage memory allocated objects?

532


How do I know if my hardware supports 64 bit?

534


Explain thrashing.

570


How much ram do I need for gaming?

574


Can ram cause blue screen?

558


What are the four common types of files?

550


What was microsoft's first operating system?

619