title: What is threading context?
body: <p>Does a thread's context refer to a thread's personal memory?  If so, how is memory shared between multiple threads?</p>
  
  <p>I'm not looking for code examples- I understand synchronization on a high level, I'm just confused about this term, and looking to gain some insight on what's actually happening behind scenes.</p>
  
  <p>The reason I thought/think each thread has some kind of private memory was because of the volatile keyword in Java and .NET, and how different threads can have different values for the same primitive if its not used. That always implied private memory to me.</p>
  
  <p>As I didn't realize the term was more general, I guess I'm asking how context-switching works in Java and C# specifically.</p>