Home > DeveloperSection > Forums > Difference between a process and a thread
Samuel Fernandes
Samuel Fernandes

Total Post:159

Posted on    April-08-2015 8:47 AM

 Java Java 

 1 Reply(s)
 871  View(s)
Rate this:
What is the technical difference between a process and a thread? I get the feeling a word like 'process' is over used and there is also hardware and software threads. How about light-weight processes in languages like Erlang? Is there a definitive reason to use one term over the other?

Mayank Tripathi
Mayank Tripathi

Total Post:397

Posted on    April-08-2015 8:48 AM

Both processes and threads are independent sequences of execution. The typical difference is that threads (of the same process) run in a shared memory space, while processes run in separate memory spaces.

I'm not sure what "hardware" vs "software" threads might be referring to. Threads are an operating environment feature, rather than a CPU feature (though the CPU typically has operations that make threads efficient).

Erlang uses the term "process" because it does not expose a shared-memory multiprogramming model. Calling them "threads" would imply that they have shared memory.

Don't want to miss updates? Please click the below button!

Follow MindStick