Process vs. Thread

Using Processes and Threads provide a way for paralleling work on a computer. Processes are independent execution units that contain their own state and address spaces. Basically an instance or execution of a program. And they can only communicate with other processes via interprocess communication. The division of processes should be done during the design phase.

Threading should not affect an architecture of an application. A single process can contain multiple threads. All threads share the same state and same space in memory. They can communicate with each other because they use the same variables.

Threads power comes from their ease of creation, while process creation is not so straightforward.

Author: Travis Gneiting

Passionate Professional .NET Developer