我以前没接触过多线程,最近看了一些关于多线程的文章,也不知道怎样入手将下面VC++编的单线程改为多线程,请各位老师指点,给个多线程框架或思路;这个程序是先生成组合数,然后通过过滤器Filter0,Filter1过滤掉不需要的组合数,然后再打印出结果;谢谢!
#include<fstream.h>
#include <vector>
#include <list>
#include <algorithm>
using namespace std;
typedef vector<int> IntArray;
// 回溯搜索生成组合
void Search(int m, int n, int depth,  IntArray& L, 
list<IntArray>& result)
{
............
}
// 生成从m个数中取出n个数的组合数C(m,n)
// 结果在result中返回
void Combination(int m, int n, list<IntArray>& result)
{            
...........
}
// 打印组合数
void Print (list<IntArray>& combs)
{
 ...........
}
// 过滤组合数
void Filter0( list<IntArray>& combs)
{
............
}
// 过滤组合数
void Filter1( list<IntArray>& combs)
{
...............
}}
int main()
{
 int m, n;Combination( m, n, result );
Filter0(result);
Filter1(result);
Print( result ); return 0;
}