title: Best way to do a multithread foreach loop
body: <p>I have a send email method with a foreach, like this:</p>
  
  <pre><code>static void Main(string[] args)
  {
     foreach(var user in GetAllUsers())
     {
        SendMail(user.Email);
     }
  }
  </code></pre>
  
  <p>I need to improve that method. Using a multithread, because i dont want to wait the SendMail method executes each time for each user.
  Any sugestions to do that?
  Thanks</p>