说明:QtConcurrent 的线程函数启动方式略述。
1) 全局函数或静态函 ,作为线程函数
1 void threadFunc() 2 { 3 //...add
4 } 5 QtConcurrent::run(threadFunc);
2) 类成员函数作为线程函数
1 class worker 2 { 3 public: 5 Worker(); 7 ~Worker(); 9 void threadFunc(); 10 void start(); 11 }; 13 void worker::threadFunc() 14 { 15 //... add 16 } 18 void worker::start() 19 { 20 QtConcurrent::run(this,&worker::threadFunc); 21 }
3) 结构体函数作为线程函数
1 sturct worker 2 { 3 int ID; 4 void worker::threadFunc() 5 { 6 //... add
7 } 8 };//end
9
10 worker work; 11 QtConcurrent::run(&work,&worker::threadFunc);
补充:QtConcurrent默认使用全局线程池,经实测(CPU:i3-4150)双核四线程处理器,
开启的最大线程数即为4;