title: Why should I use asynchronous operation over synchronous operation?
body: <p>I have always pondered about this. </p>
  
  <p>Let's say we have a simple asynchronous web request using the HttpWebRequest class</p>
  
  <pre><code>class webtest1
  {
      HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create("www.google.com");
  
      public webtest1()
      {
          this.StartWebRequest();
      }
  
      void StartWebRequest()
      {
          webRequest.BeginGetResponse(new AsyncCallback(FinishWebRequest), null);
      }
  
      void FinishWebRequest(IAsyncResult result)
      {
          webRequest.EndGetResponse(result);
      }
  }
  </code></pre>
  
  <p>The same can be achieved easily with a synchronous operation:</p>
  
  <pre><code>class webtest1
  {
      HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create("www.google.com");
  
      public webtest1()
      {
          webRequest.GetResponse();
      }
  }
  </code></pre>
  
  <p>So why would I want to use the more convoluted async operation when a much simpler sync operation would suffice? To save system resources?</p>