title: Is mersenne twister thread safe for cpp
body: <pre><code>#include &lt;random&gt;
  
  int f() {
  
      std::random_device seeder;
      std::mt19937 engine(seeder());
      std::uniform_int_distribution&lt;int&gt; dist(1, 6);
  
      return dist(engine);
  
  }
  </code></pre>
  
  <p>Can multiple threads call this function safely? Is the function thread safe?
  It is reduntant to call <code>std::random_device seeder;</code> and <code>std::mt19937 engine(seeder());</code> every time? </p>