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

How do I stop chkdsk at startup?

512


What do you mean by thread starvation?

585


What is banker's algorithm?

587


Some omeone on campus calls and says they have a new Mac. They've just pulled it out of the box and want to plug it into the campus network. What might they need to set to make this work?

676


What are the ways in which fault tolerance can be ensured in systems? (Different redundancy techniques)?

704






How does the cpu and the ram communicate?

567


What is a command interpreter?

629


Do I need web plugins for vlc?

540


Tell me operating systems used in mobile.

573


What are the different ram standards/versions?

549


What is the difference between af_inet and pf_inet?

537


Explain the concept of the multi-processor systems or parallel systems?

555


How is the maximum addressable memory calculated?

562


Explain the concept of the batched operating systems?

571


what is the command to copy windows files (i386) without formatting OS?

1714