title: Multi-Threading in Multiplayer Strategy Games
body: <p>In most online multiplayer strategy games, players build buildings and attack to get better at the game.</p>
  
  <p>But, there's one thing I've never understood.
  A player could start building some building, that'll last for 3 hours.</p>
  
  <p>But then, even though he disconnects, the building keeps getting built.</p>
  
  <p>That, of course, means that it's server sided.</p>
  
  <p>But to keep the server responsive while the building is being built, it has to be on a separate thread, which then becomes a problem.</p>
  
  <p>Think about 500 players connected to one server, each building 2 buildings.
  That'll account to 1000 threads, and as a result the server would be unresponsive.</p>
  
  <p>So how is it done correctly? I want to program a similar game (for Desktop with C#) but I have no idea how to manage the server sided constructions with efficient multi-threading.</p>