C#调用多线程时间延长

C# code
  

  Stopwatch stw = new Stopwatch();


        public  int i = 0;
     private void Form1_Load(object sender, EventArgs e)
        {
            CheckForIllegalCrossThreadCalls = false;
            stw.Start();
            Thread thread = new Thread(start);
            thread.Start();
            for (int j = 0; j < 999999999; j++)
            {
                i++;
                if (i >= 99999999)
                {
                    stw.Stop();

                    label1.Text = stw.ElapsedMilliseconds.ToString();
                    break;
                }
            }
            //Suodeshuijisuan(Class1.shuiqian, Class1.shuilv, Class1.suodeshui);
            //label1.Text = "cd";
        }
        public void start()
        {
            for (int j = 0; j < 999999999; j++)
            {
                i++;
                if (i >= 99999999)
                {
                    stw.Stop();

                    label1.Text = stw.ElapsedMilliseconds.ToString();
                    break;
                }
            }
        }

用这段代码测试的时候 不加多线程那一块显示的时间是400多毫秒 然后加上多线程反而成了900多毫秒
请教大虾,是什么原因 是不是我测试的时间太短导致的,还是条用多线程就是会延长程序的时间

作者: jjkkason   发布时间: 2011-06-15

调用线程肯定会多花时间

线程的意义在于并行计算,防止界面卡死,等待IO

并不会减少运算量,而且你那个是单线的,放在那都一样

至于400ms编程900是你计数不对吧,不可能差这么多

作者: Icedmilk   发布时间: 2011-06-15

没有人帮忙吗

作者: jjkkason   发布时间: 2011-06-15