title: How do I know all my tasks in Grand Central Dispatch finished?
body: <p>I need to send multiple tasks to Grand Central Dispatch to run. Some tasks will finish first, while some will finish last.</p>
  
  <p>How do I know all my tasks in Grand Central Dispatch finished?</p>
  
  <p>Should I use a counter to record the number of tasks finished? Any smarter method?</p>