title: What is the best way to thread work in c#?
body: <p>What's the best way to thread work (methods) in c#? </p>
  
  <p>For example: </p>
  
  <p>Let's say I have a form and want to load data from db.</p>
  
  <pre><code>My form controls: 
   - dataGridView (to show data from DB), 
   - label (loading status) and 
   - button (start loading).
  </code></pre>
  
  <p>When I click the button my form is frozen until the task is done. Also the loading status does not change until task is done. I think async threading would be the answer?</p>
  
  <p>So my question: what's the best way to handle this? I know there is a lot stuff about Threading, but what's the difference between them and how do you make it thread safe?</p>
  
  <p>How do you solve this kind of problems?</p>
  
  <p>Best Regards.</p>