怎样将VC++编的单线程改为多线程?解决办法

怎样将VC++编的单线程改为多线程?
我以前没接触过多线程,最近看了一些关于多线程的文章,也不知道怎样入手将下面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;
}

------解决方案--------------------
由于结果具有前后依赖性,它们是线性关系,推荐用单线程。多线程用于守候或无明显线性关系的过程使用。
------解决方案--------------------
你的程序有必要这么做么?....写下网络应用程序吧..
------解决方案--------------------
有必要用多线程的时候才用,降低程序的复杂性和出错的概率。