Disclaimer The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.
All threads within a single application are logically contained within a process – the operating system unit in which an application runs.
Threads have certain similarities to processes – for instance, processes are typically time-sliced with other processes running on the computer in much the same way as threads within a single C# application. The key difference is that processes are fully isolated from each other; threads share (heap) memory with other threads running in the same application. This is what makes threads useful: one thread can be fetching data in the background, while another thread isdisplaying the data as it arrives.