title: Understanding the behaviour of [NSData dataWithContentsOfURL:URL] inside the GCD block
body: <p><em>Following question/statement is limited to my understanding,let me know if i'm wrong here.</em></p>
  
  <p>From : <a href="https://stackoverflow.com/questions/14685623/issue-with-gcd-and-too-many-threads">Issue with GCD and too many threads</a></p>
  
  <p>Forward to jackslash's answer,i wonder most of the developers have a habbit of using <code>[NSData dataWithContentsOfURL:URL]</code> which certainly does seems to be blocking(until it's done).Which can be ideal if your fetching some small details through URL.But in case of multiple process(i mean while downloading multiple files),GCD has to create many many threads and is not a perfect way to download the data.</p>
  
  <p>So some experts suggested to use GCDs abstraction called <code>[NSURLConnection sendAsynchronousRequest:queue:completionHandler:</code> to handle such situation(and is ideal also).</p>
  
  <p>My only question is how does <code>[NSURLConnection sendAsynchronousRequest:queue:completionHandler:</code> <strong>will take the advantage over</strong> <code>NSData dataWithContentsOfURL:URL]</code> in terms of creating new threads and saving us from getting blocked?.</p>
  
  <p>Really appreciate any of your documented answer.</p>