for(int i=0;i<100;i++)
{
 Thread tmp = new Thread(new ThreadStart(MyFunction));
 tmp.IsBackground = true;
 tmp.Name = i.ToString();
 tmp.Start();
}
AllStart = true;
void MyFunction()
{
 while(true)
 {
  if(AllStart)
  {
   //code
   //你本来要做的计算啊, 什么的
    if(some_condition)
     break;//结束你的Thread..
  }else{
   Thread.Sleep(1);//等待所有的Thread都开始....
  }
 }
}

解决方案 »

  1.   

    执行一百次有没有关系啊,比如说是不是非要顺序,还是单独的也可以,相互之间没有关系呢
    如果必须是顺序的,就只有for了,没有办法
    如果是非顺序的,单独的,可以考虑开一百个线程,每个线程都执行啊
      

  2.   

    让这个函数在同一时间内执行100次!不是很明白你的意思,你的意思是让这个函数由多个线成一起执行100次?那就需要设置一个变量来记录执行的次数class example
    {
     static int x =0; //用来记录函数执行次数
     static object locker = new object();//锁对象
     
     static void Main()
     {
        example ex = new example();
        new Thread(new ThreadStart(ex.Cfun)).Start(); //创建一个新进程执行函数
        ex.Cfun(); //主线程执行函数
     } //用来控制函数执行次数
     private void Cfun()
     {
       while(example.x<100)//函数执行少于100次才让执行
       {
        lock(locker){example.x++;} //设置一个锁,同步2个线程
            if(example.x<=100) //在判断一次。以免进入while以后,x被另外一个线程加1了  
           fun();
       }
     } //要执行的函数
     public void fun()
     {
       Console.WriteLine("hello");
     }
    }
    结果应该是输出100个hello,也就是fun被执行了100次
    设2个线程差不多,没必要设置的太多,双核CPU一次也就处理2个。多了的话,线程的切换也要消耗资源。
      

  3.   

    如果你的CPU是单核的,在算术上多线程没有单线程快。
      

  4.   

    昏,不是说了吗!除非你有100个CPU,才有可能保证他们同时执行。
      

  5.   

    早知道多开线程就可以快一些的话,就不用升级CPU了,升级操作系统就行了,升级到支持1G线程的操作系统,哈哈
      

  6.   

    买100个CPU一起职行,那也不是同一时间呐..
      

  7.   

    用cpu数 * 2的线程数去执行效果最好