Generating parallel random numbers in a thread-safe way and using them in computations implemented by class method
what is the problem with just creating a range of random number generators from &lt;random&gt; and assign each to a thread? 

Mind that using thread_local might not be a good way, as initialization of random number generators is costly. Also i do not know, how therngs would be seeded in a thread_local environement.