std :: metodo di chiamata del thread di class

Possibile duplicato:
Inizia il thread con la funzione membro

Ho una piccola class:

class Test { public: void runMultiThread(); private: int calculate(int from, int to); } 

Come è ansible eseguire il metodo calculate con due diversi set di parametri (ad esempio calculate(0,10) , calculate(11,20) ) in due thread dal metodo runMultiThread() ?

PS Grazie, ho dimenticato che ho bisogno di passare this , come parametro.

Non così difficile:

 #include  void Test::runMultiThread() { std::thread t1(&Test::calculate, this, 0, 10); std::thread t2(&Test::calculate, this, 11, 20); t1.join(); t2.join(); } 

Se il risultato del calcolo è ancora necessario, utilizza invece un futuro :

 #include  void Test::runMultiThread() { auto f1 = std::async(&Test::calculate, this, 0, 10); auto f2 = std::async(&Test::calculate, this, 11, 20); auto res1 = f1.get(); auto res2 = f2.get(); }