std ::线程调用类的方法

可能重复:
用成员函数启动线程

我有一个小class:

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

如何从方法runMultiThread()中的两个线程calculate两个不同的参数集(例如calculate(0,10)calculate(11,20) runMultiThread()

PS谢谢,我已经忘记,我需要通过this ,作为参数。

One Solution collect form web for “std ::线程调用类的方法”

不那么难:

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

如果仍然需要计算结果,请改用future

 #include <future> 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(); } 
  • 并行字典正确使用
  • 核心数据和线程/ Grand Central Dispatch
  • java中multithreading环境中的静态方法行为
  • C#中的primefaces操作是什么?
  • 在multithreading系统中使用静态java.sql.Connection实例是否安全?
  • 在Java中找不到现代的对象池实现
  • 线程之间是否共享静态variables?
  • 试图读取或写入受保护的内存。 这通常表示其他内存已损坏
  • 为什么Java的ThreadLocalvariables是静态的
  • 如何使方法取消而不会变得丑陋?
  • 进程,线程,绿色线程,原线程,纤维,协程:有什么区别?