What is the difference between Process and Threads?
Answer Posted / hetal
A process is a running instance of a program to which system allocates resources like CPU time and memory (separate heap, method area etc. which does not overlap with other process running on the system at the same time). In a big application there may be a set of cooperating processes communicating to each other in order to perform the desired functionality. Two processes communicate through well defined inter process communication mechanism, such as pipes, sockets and shared memory, if both processes are running on the same machine.
On the other hand threads exist within a process; every process has at least one thread. A thread is a light weight process that does not require as much resources as a process requires. Threads running inside a process, share the common set of resources among themselves which are allocated to the process (including the memory, the address space). All the threads share the same heap and method area (but individual stacks). All local variables are thread safe in Java because local variables are stored in each thread's own stack and each thread has its own stack created. Because threads share virtual address space, that makes inter thread communication between threads much cheaper than inter process communication between two independent processes
| Is This Answer Correct ? | 1 Yes | 0 No |
Post New Answer View All Answers
What is bean? Where can it be used?
Are we allowed to change the transaction isolation property in middle of a transaction?
Why does the tag url-encode javascript and mailto links?
What are the different methods of identifying an object?
what is an isolation level?
What is ioc concept & explain it?
what are RemoteObjects?
What are externizable interface?
What is the purpose of the finally clause of a try-catch-finally statement?
What is the difference between ear, jar and war file?
How database connectivity in XML is achieved?
What do you mean by Socket Programming?
What restrictions are placed on the values of each case of a switch statement?
What are the different algorithms used for clustering?
What state does a thread enter when it terminates its processing?