Differences between Process and Thread

Q

What is the difference between Process and Thread?

✍: FYIcenter

A

A process can contain multiple threads. In most multithreading operating systems, a process gets its own memory address space; a thread doesn't. Threads typically share the heap belonging to their parent process.

For instance, a JVM runs in a single process in the host O/S. Threads in the JVM share the heap belonging to that process; that's why several threads may access the same object.

Typically, even though they share a common heap, threads have their own stack space. This is how one thread's invocation of a method is kept separate from another's.

This is all a gross over simplification, but it's accurate enough at a high level. Lots of details differ between operating systems.

2007-03-03, 4477👍, 0💬